1、Broadcast Receiver是什么

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

2、Broadcast Receiver的使用场景

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

3、Broadcast Receiver的种类

  • 普通广播
  • 有序广播
  • 本地广播
  • Sticky广播

4、Broadcast Receiver的实现

  • 静态注册:注册后一直运行,尽管Activity、进程、App被杀死还是可以接收到广播
  • 动态注册:跟随Activity的生命周期

5、Broadcast Receiver实现机制

  • 自定义广播类继承Broadcast Receiver,复写onReceiver()

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

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

  • AMS查找符合条件的广播发送到Broadcast Receiver相应的消息循环队列当中

  • 消息循环队列拿到广播,回调Broadcast Receiver的onReceiver()

6、LocalBroadcastManager特点

  • 本地广播只在本App内传播,更加安全隐私,不用担心隐私泄露

  • 其他App不能向你的App发送该广播,不必担心安全漏洞被泄漏

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

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

results matching ""

    No results matching ""