zoukankan      html  css  js  c++  java
  • 广播的注册、发送和接收过程

    --摘自《Android进阶解密》

    一。广播的注册过程(动态注册)

    1)静态注册在应用安装时由PackageManagerService来完成注册过程

    2)IIntentReceiver是一个Binder接口,用于广播的跨进程的通信,它在LoadedApk.ReceiverDispatcher.InnerReceiver中实现

    3)注册广播是一个跨进程过程,需要具有跨进程的通信功能的IIntentReceiver

    4)粘性广播是存储在AMS中的

    5)ReceiverList继承自ArrayList,用来存储广播接收者

    6)AMS接收到广播时就可以从mReceiverResolver中找到对应的广播接收者了,从而达到了注册广播的目的

    二。广播的发送和接收过程

    第一步。ContextImpl到AMS的调用过程

    第二步。AMS到BroadcastReceiver的调用过程

    1)IIntentReceiver和IActivityManager一样,都使用了AIDL来实现进程间通信。InnerReceiver继承自IIntentReceiver.Stub,是Binder通信的服务器端,IIntentReceiver则是Binder通信的客户端、InnerReceiver在本地的代理,它的具体实现就是InnerReceiver

    欢迎关注我的微信公众号:安卓圈

  • 相关阅读:
    微软MSBI商业智能视频
    华为HG8245 电信 光猫破解获取超级密码
    Html5与CSS3权威指南 百度云下载
    GUI常用对象介绍3
    GUI常用对象介绍2
    GUI常用对象的属性
    AtCoder Beginner Contest 082 B
    AtCoder Beginner Contest 082 A
    回文字符串
    进制转换(大数)
  • 原文地址:https://www.cnblogs.com/anni-qianqian/p/10179007.html
Copyright © 2011-2022 走看看