Android四大组件之Broadcast
1、前言
Boroadcast可以分为BroadcastRegister和BroadcastReceiver,下面我分别把他们叫做广播注册者和广播接收者。Android广播机制采用异步的方式进行广播发送和接收,也就是说发送者并不会关心接收者们是否接收到,它只管在特定情况下发送,而接收者们只需在收到信息后执行特定的操作就行了。
2、实现原理
看下面这张图,它大致描述了Android广播机制是怎么样实现的。
1、广播接收者 通过 Binder机制在 AMS 注册
2、广播发送者 通过 Binder 机制向 AMS 发送广播
3、AMS 根据 广播发送者 要求,在已注册列表中,寻找合适的广播接收者
寻找依据:IntentFilter / Permission
4、AMS将广播发送到合适的广播接收者相应的消息循环队列中;
5、广播接收者通过 消息循环 拿到此广播,并回调 onReceive()
3、分类
按照注册方式可以分为:1、动态注册;2、静态注册。
按照动作类别可以分为:1、普通广播;2、系统广播;3、有序广播;4、应用内广播、5、粘性广播(建议不使用)。