1 / 85
文档名称:

第2章 Android生命周期与组件通信 《Android程序设计教程》课件.ppt

格式:ppt   页数:85页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

第2章 Android生命周期与组件通信 《Android程序设计教程》课件.ppt

上传人:autohww 2016/3/11 文件大小:0 KB

下载得到文件列表

第2章 Android生命周期与组件通信 《Android程序设计教程》课件.ppt

相关文档

文档介绍

文档介绍:第二章 Android 生命周期与组件通信 1主要内容? Android 生命周期? Activity 组件? Intent 信使 2 ?程序的生命周期?程序的生命周期是在 Android 系统中进程从启动到终止的所有阶段,也就是 Android 程序启动到停止的全过程。?程序的生命周期由 Android 系统进行调度和控制的。? Android 系统中的进程优先级由高到低?前台进程?可见进程?服务进程?后台进程?空进程 3 ?前台进程?前台进程是 Android 系统中最重要的进程,是与用户正在交互的进程,包含以下四种情况。?进程中的 Activity 正在与用户进行交互。?进程服务被 Activity 调用,而且这个 Activity 正在与用户进行交互。?进程服务正在执行声明周期中的回调函数,如 onCreate() 、 onStart() 或 onDestroy() 。?进程的 BroadcastReceiver 正在执行 onReceive() 函数。? Android 系统在多个前台进程同时运行时,可能会出现资源不足的情况,此时会清除部分前台进程,保证主要的用户界面能够及时响应。 4 ?可见进程?可见进程指部分程序界面能够被用户看见,却不在前台与用户交互,不响应界面事件的进程。?如果一个进程包含服务,且这个服务正在被用户可见的 Activity 调用,此进程同样被视为可见进程。? Android 系统一般存在少量的可见进程,只有在特殊的情况下, Android 系统才会为保证前台进程的资源而清除可见进程。 5 ?服务进程?服务进程是指包含已启动服务的进程?没有用户界面?在后台长期运行? Android 系统除非不能保证前台进程或可视进程所必要的资源,否则不强行清除服务进程?后台进程?后台进程是指不包含任何已经启动的服务,而且没有任何用户可见的 Activity 的进程? Android 系统中一般存在数量较多的后台进程,在系统资源紧张时,系统将优先清除用户较长时间没有见到的后台进程 6 ?空进程?空进程是不包含任何活跃组件的进程?空进程在系统资源紧张时会被首先清除?但为了提高 Android 系统应用程序的启动速度, Android 系统会将空进程保存在系统内存用,在用户重新启动该程序时,空进程会被重新使用?除了以上的优先级外,以下两方面也决定他们的优先级?进程的优先级取决于所有组件中的优先级最高的部分?进程的优先级会根据与其他进程的依赖关系而变化 7 ? Android 组件简介? Activity 生命周期? Task 与 Activity 栈? Activity 基本状态 8 Android 组件简介?组件是可以调用的基本功能模块, Android 应用程序就是由组件组成的。? Android 系统有四个重要的组件,分别是 Activity 、 Service 、 BroadcastReceiver 和 ContentProvider 。? Activity ? Activity 是 Android 程序的呈现层,显示可视化的用户界面,并接收与用户交互所产生的界面事件。? Android 应用程序可以包含一个或多个 Activity ,一般在程序启动后会呈现一个 Activity ,用于提示用户程序已经正常启动。?在界面上的表现形式:全屏窗体,非全屏悬浮窗体,对话框。? Service ? Service 用于没有用户界面,但需要长时间在后台运行的应用。 9 Android 组件简介? BroadcastReceiver ? BroadcastReceiver 是用来接受并响应广播消息的组件。?不包含任何用户界面。?可以通过启动 Activity 或者 Notification 通知用户接收到重要信息。? Notification 能够通过多种方法提示用户,包括闪动背景灯、震动设备、发出声音或在状态栏上放置一个持久的图标。? ContentProvider ? ContentProvider 是 Android 系统提供的一种标准的共享数据的机制,应用程序可以通过 ContentProvider 访问其他应用程序的私有数据。?私有数据可以是存储在文件系统中的文件,也可以是 SQLite 中的数据库。? Android 系统内部也提供一些内置的 ContentProvider ,能够为应用程序提供重要的数据信息。 10