9_四大组件的工作过程

四大组件的工作过程

1、四大组件的运行状态

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

Activity是一种展示型的组件,用于向用户直接展示一个界面,并且可以接收用户的输入信息从而进行交互。Activity的启动由Intent触发,其中Intent可以分为显式Intent和隐式Intent,显式Intent可以明确地指向一个Activity组件,隐式Intent则知指向一个或多个目标Activity组件,当然也可能没有任何一个Activity组件处理这个隐式Intent。一个Activity组件可以具有特定的启动模式。Activity组件也是可以停止的,在实际开发中可以通过Activity的finish方法来结束一个Activity组件的运行。由此看来,Activity组件的主要作用是展示界面并和用户交互,它扮演的是一种前台界面的角色。

Service是一种计算型的组件,用于在后台执行一系列计算任务。由于Service组件工作在后台,因此用户无法直接感知它的存在。Service有两种状态:启动状态和绑定状态。当Service组件处于启动状态时,这个时候Service内部可以做一些后台的计算,并且不需要和外界有直接的交互。尽管Service组件是用于执行后台计算的,但是它本身是运行在主线程中的,因此耗时的后台任务仍然需要在单独的线程中去完成。当Service组件处于绑定状态时,这个时候Service内部同样可以进行后台计算,但外界可以很方便地和Service组件进行通信。

BroadcastReceiver是一种消息型组件,用于在不同的组件乃至不同的应用之间传递消息。BroadcastReceiver同样无法被用户感知,因为它工作在系统内部。BroadcastReceiver分为静态注册和动态注册。静态注册是指在AndroidManifest中注册广播,这种广播在应用安装时会被系统解析,此种形式的广播不需要应用启动就可以接收相应的广播。动态注册广播需要通过Context.registerReceiver()来实现,并且不需要时要通过Context.unRegisterReceiver()来解除广播,此种形式的广播必须要应用启动才能接收到广播。

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

2、Activity的工作过程

3、Service的工作过程

4、BroadcastReceiver的工作过程

5、ContentProvider的工作过程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值