您的位置:首页 > 移动开发 > Android开发

第九章、 四大组件的工作过程

2016-04-21 08:43 489 查看

第九章、 四大组件的工作过程

1. 四大组件的运行状态

Android的四大组件中除了BroadcastReceiver以外,其它三种组件都必须在AndroidManifest中注册,对于BroadRecevier来说,它既可以在AndroidManifest注册也可以通过代码注册。在调用方式上,Activity、Service和BroadcastRecevier需要借助Intent,而ContentProvider无需借助Intent。

Activity

Activity是一种展示型组件,用于向用户直接展示一个界面,并且可以接收用户的输入信息从而进行交互。

Activity的启动由Intent触发,Intent分为显式和隐式。显示可以明确指定一个Activity组件。隐式可以指向一个或者多个,甚至没有指向。

Service

Service是一种计算型组件,用于在后台执行一系列计算任务。Activity组件只有一种运行模式,即Activity处于 启动状态;Service组件有两种状态:启动状态,绑定状态。

BroadCastReceiver

是一种消息型组件,用于在不同的组件乃至不同的应用之间传递消息。

BroadCastReceiver的注册有两种方式:静态注册和动态注册。静态注册是指在AndroidManifest中注册广播,这种广播在应用安装时就会被系统解析。此种形式的广播不需要启动应用就可以接收到相应的广播。动态注册广播需要通过Context.registerReceiver()来是实现,并且在不需要的时候通过Context.unregisterReceiver()来解除广播,此种方式必须启动应用注册广播才能接收到消息。

BroadCast组件可以用来实现低耦合的观察者设计模式。BroadCastReceiver不适合用来执行耗时操作。

ContentProvider

ContentProvider是一种数据共享性组件,用于向其它组件乃至其它应用共享数据。

对于一个ContentProvider组件来说,它的内部需要实现增删改查四种操作,内部维持着一份数据集合,这个数据集合既可以通过数据库来实现,也可以通过其它任何形式来实现。

2.Activity的工作过程

Activity的工作流程 (以下uml图片为转载,侵删)



3. Service的工作流程

Service的工作流程:

Service有两种状态:启动状态和绑定状态,两种状态是可以共存的。

启动状态:



绑定过程:



4.BroadcastReceiver的工作过程:

BroadcastReceiver的工作过程主要包含两个方面:
1.广播的注册过程;
2.广播的发送和接收过过程。


5. 广播的注册过程:

广播的注册过程分为静态注册和动态注册。
静态注册的时候是由PackageManagerService来完成整个注册过程。


广播的动态注册过程:



广播的发送和接收过程:



6.ContentProvider的工作过程:


)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android 读书笔记