BroadcastReceiver

来源:互联网 发布:vb.net 多行注释 编辑:程序博客网 时间:2024/06/07 09:58

1.BroadcastReceiver是什么?

Broadcast是四大组件之一,是一种广泛运用在应用程序之间传输信息的机制,通过发送Intent来传送我们的数据


2.Broadcast Receiver的使用场景

   •  同一App具有多个进程的不同组件之间的消息通信

   •      不同App之间的组件之间的消息通信

3Broadcast Receiver的种类

   •      普通广播

   •      有序广播

   •      本地广播

   •      Sticky广播

 

4Broadcast Receiver的实现

   •      静态注册注册后一直运行尽管Activity、进程、App被杀死还是可以接收到广播

   •      动态注册跟随Activity的生命周期

 

5Broadcast Receiver实现机制

   •      自定义广播类继承BroadcastReceiver复写onReceiver()

   •      通过Binder机制向AMS进行注册广播

   •      广播发送者通过Binder机制向AMS发送广播

   •      AMS查找符合相应条件的广播发送到BroadcastReceiver相应的循环队列中

•  消息队列执行拿到广播回调BroadcastReceiveronReceiver()

6LocalBroadcastManager特点

   •      本地广播只能在自身App内传播,不必担心泄漏隐私数据

   •      本地广播不允许其他App对你的App发送该广播,不必担心安全漏洞被利用

   •      本地广播比全局广播更高效

   •      以上三点都是源于其内部是用Handler实现的