V4包中的LocalBroadcastManager的限制与优点

来源:互联网 发布:linux系统安转vim 编辑:程序博客网 时间:2024/05/16 15:45

一、限制

1. 不能用于系统Action,例如电量、Wifi状态等;因为,这个sendBroadcast()是由系统发出的,LocalBroadcastManager的sendBroadcast()是有我们自定义发出的,因此智能用于自定义Action。

2. 不能跨Process发送和接收广播。这也是LocalBroadcastManager的优点,安全、性能都因此而比较好。

二、优点

1. 性能好,相比在系统内发送全局广播,它更高效。

2. 安全性高,因广播数据在本App范围内传播,你不用担心隐私数据泄露的问题,不用担心别的应用伪造广播,造成安全隐患。


注:

讲BroadcastReceiver比较好的网站是:

http://my.oschina.net/winHerson/blog/90336

http://www.2cto.com/kf/201307/226111.html

http://www.cnblogs.com/TerryBlog/archive/2010/08/16/1801016.html

http://blog.csdn.net/xiang_j2ee/article/details/7261147

ActivityThread分析:http://blog.csdn.net/ljsbuct/article/details/7094580


对于BroadcastReceiver本身的两种的注册方式的区别:

1. 在AndroidManifest中进行注册(静态注册)后,不管该应用程序是否处于活动状态,都会进行监听,比如某个程序时监听内存的使用情况的,当在手机上安装好后,不管该应用程序是处于什么状态,都会执行该监听方法中的内容。

2. 在代码中进行注册(动态注册)后,当应用程序关闭后,就不再进行监听。我们知道,应用程序是否省电,决定了该应用程序的受欢迎程度,所以,对于那些没必要在程序关闭后仍然进行监听的Receiver,在代码中进行注册,无疑是一个明智的选择。


0 0