一.广播
1.在Android中,Broadcast在应用程序之间传输信息的机制,我们发送的广播内容是一个Intent
2.使用场景
1)同一个app具有不同进程的不同组件消息通信
2)不同app组件消息通信
3.广播种类
1)Normal 广播:Context.sendBroadcast
2)System 广播:Context.sendOrderedBroadcast
3)Local 广播:只在自身App内传播
二.实现广播
1.静态注册:注册完就一直运行,即使activity销毁了 还在
2.动态注册:跟随activity的生命周期 Activity销毁时,一定要解除广播,否则内存泄露
三.广播实现机制
1.自定义广播接受者BroadcastReceiver,复写onRece方法
2.通过Binder机制向AMS(activity Manager Service)进行注册
3.广播发送者通过Binder机制向AMS发送广播
4.AMS查找符合条件的(IntentFilter/Permission)Broadcast相应的消息循环队列中
5.消息循环执行拿到此广播,回调BroadcastReceiver的onReceive方法
四.LocalBroadcastManager详解
1.只在App内传播,不担心隐私泄露
2.其他App无法对你的App发送该广播,不担心收到非自身应用发送的广播
3.比系统的广播高效
eg主线程中
eg高效率的原因是内部通过Handler,实际是他通过发送一个handler的message实现
所以其他应用也不能发送该应用