Chinaunix首页 | 论坛 | 博客
  • 博客访问: 389032
  • 博文数量: 120
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 741
  • 用 户 组: 普通用户
  • 注册时间: 2014-03-27 18:15
文章分类

全部博文(120)

文章存档

2016年(13)

2015年(41)

2014年(66)

我的朋友

分类: Android平台

2014-10-14 15:24:30

    大家都知道Android注册组件的能力时,一般都是直接在AndroidManifest.xml文件中增加intent-filter元素。但是有一个例外,注册广播使用的是另外一种方式,在代码中调用registerReceiver的来注册,这是为什么呢?把这个问题提出来,请各位赐教,下面说说我的理解。
    我的理解是,activity、service都是有自己的启动方法和销毁方法,当应用关闭之后,activity和service将不会占用系统资源。而广播就不同了,只要注册了,就能接收到广播消息,而没有提供关闭的方法,所以如果通过在AndroidManifest.xml文件中直接注册广播之后,即使你的应用被关闭了,广播还是存在,广播还是能接收到相应的消息,还是会去处理,这无疑增加了系统的开销,同时也埋下了隐患。而通过代码注册就不同了,在应用结束的时候,通过调用unregisterReceiver即可取消广播,这样就不会对系统造成影响了。
    不知道我的理解对不对,请大家积极评论哈。
阅读(435) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~