android动态注册接收者与在清单里面注册接收者的区别

来源:互联网 发布:人工智能学派 编辑:程序博客网 时间:2024/06/16 07:32



本文地址:http://blog.csdn.net/whyrjj3/article/details/8001041

很多人都知道在代码里面动态注册接收者,可以不在清单里面注册,这也是四大组件唯一例处的一个(如果不知道动态注册的google),但动态注册与在清单文件里面注册却有较大的区别,在代码中动态注册一个接收者,如果当系统发出相应的广播的时候,如果接收者所在的进程并没有运行,那么在代码中动态注册的接受者将不运行,而在清单中的接收者,会先把这个进程运行起来,再在这个进程中运行这个接收者的代码。


两种方法注册的接收者各有各的好处,如一个界面里面的内容,要通过其它的广播后来进行改变,那么这个接收者就最好在Activity中动态注册,如果当前这个Activity并不存在,那么这个接收者将不运行。这里面注册还有一个好处就是它可以很方便操作activity中的数据,其它某个地方更改了数据后,界面就可以立马显示出来,得到实现刷新的效果。这里注册注意的是在onDestroy()方法中最好unregisiter()这个接收者。注册最好在onCreate()方法里面注册。


大多数都在清单里面注册,最明显的一个,也只能在清单里面注册,比如说:接收开机广播,如果这个接收者在代码中动态注册的话,那么它将永远都不会被执行。。

本文地址:http://blog.csdn.net/whyrjj3/article/details/8001041

原创粉丝点击