广播学习



1.为什么需要广播机制呢?松耦合

2.广播的发送和处理是异步进行的。

3.Sticky broadcast:我们在最后一次调用sendStickyBroadcast函数来发送某个Action类型的广播时,系统会把代表这个广播的Intent保存下来,
这样,后来调用registerReceiver来注册相同Action类型的广播接收器,就会得到这个最后发出的广播。这就是为什么叫做Sticky Intent了,
这个最后发出的广播虽然被处理完了,但是仍然被粘住在ActivityManagerService中,以便下一个注册相应Action类型的广播接收器还能继承处理

4.注册的时候不会排序,因为一个广播接收者可以注册接收多种类型的广播,而且广播发送者还可以拒绝将广播发送给某些广播接收者,
因此,需要在发送广播的时候,再实时收集以及排序目标广播接收者。

5.广播优先级设置:官方说优先级的设置范围是-1000到1000,但是源码中好像没看到有这个限制,仅仅是2个int型在做比较,实际的优先级范围应该是+-2147483647

6.
1. 找到静态注册的广播接收者,存在有一个列表里面,并且已经是按照优先级排好序了的。
2. 找到动态注册的广播接收者,也是存在一个列表里面,也是已经按照优先级排好序了的。
3. 对上面两个列表的广播接收者进行合并,合并的规则是优先级高的排在前面,优先级低的排在后面。如果一个静态注册的广播接收者的优先级和一个动态注册的广播接收者的优先级一样,那么动态注册的广播接收者排在前面。
对所有的广播接收者排好序之后,就可以依次把广播发送它们了。


7.安装360后,监听短信的广播,发现监听不到,因为360拦截到短信广播后,abort了广播。


8.监听应用自身卸载:
  1.广播?应用已经卸载,收不到广播
  2.用Jni fork一个进程,进程监听data/data/packagename/lib
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值