【每周一题】—— 四大组件

Android四大组件中每个组件的作用是什么?它们都可以开启多进程吗?

Activity:

Activity是和用户直接交互的界面,相对于其他三个地方也是用户最直观了解应用的地方,通过Intent启动,分为隐式和显式Intent,还有几种启动模式:standard、SingleTop、SingleTask、SingleInstance(standard模式下,被调用的Activity会进入调用者的activity中,所以如果使用ApplicationContent调用Activity会报异常,因为ApplicationContent没有任务栈)

Service:

Service和Activity同样都是继承子Context,但是除了直观上的界面不一样外,两者的启动状态也不一样,service除了可以直接startService外还可以bindService;另外Service虽然是处在后台状态,但是本身还是运行在主线程中的,所以耗时操作的时候还要开启子线程防止ANR

BroadcastReceiver:

消息型组件,用于组件与组件,应用与应用之间的消息传递,同样的BroadcastReceiver无法被用户感知,注册BroadcastReceiver有两种方式:静态注册和动态注册。静态注册就是在清单文件中声明,应用在安装的时候就会被系统解析,所以不用启动应用就能监听广播,动态注册需要用代码注册,当应用启动后才监听广播,不使用的时候解绑BroadcastReceiver

ContentProvider:

数据共享型组件,用于组件与组件,应用与应用之间的数据共享。它的内部其实是对数据的增删查改操作,内部维护了一个数据集合,可以是数据库也可以是list、map,但是在增删查改的时候要处理好现场同步

四大组件都可以开启多进程,在清单文件中添加android:process="xxxx",其中进程名可以为任意字符串

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值