[写在前面:距离上次发布有关技术的文章已经整整一年了,人也奔三了,NBA季后赛也开打了,朋友都当爹当妈了,我也该回归了。是的,it's time! ]

Android和OPhone是什么,我想我不需要再花什么时间去介绍了,跟着3G的潮流,这些名词已经变得炙手可热。Michael(Perhaps is my nickname. )也开始关注起Android/OPhone上的开发了。如果您也和我一样刚刚投身于这个领域,您可以参考园子里两位牛人写的系列文章,感谢他们的辛勤劳动和热心分享!

1、Android开发之旅 by 吴秦

2、深入Android系列 by Venus神庙

BroadcastReceiver是一个用于监听应用程序运行环境变化,并且对变化事件作出响应的组件。譬如说,当电池电量低、SD卡拔插或者手机启动完毕等等事件发生的时候,系统都会广播相应的事件,那么,我们在应用程序中就可以利用BroadcastReceiver对这些事件进行监听,并且执行onReceive方法作出相应的处理。

我们可以通过两种方式注册BroadcastReceiver,一是在Activity启动过程中通过代码动态注册,二是在AndroidManifest.xml文件中利用<receiver>标签进行静态注册。对于第一种方法,我们需要养成一个良好的习惯:在Activity进入停止或者销毁状态的时候使用unregisterReceiver方法将注册的BroadcastReceiver注销掉。基于此,我们很自然就会想,如果通过第二种方法注册的BroadcastReceiver,是否需要通过代码进行注销呢?基于这个问题,Michael在OPhoneSDN上提出这个疑问。

最后,Michael还是从Android的源代码中找到了这样的注释:If this BroadcastReceiver was launched through a <receiver> tag, then the object is no longer alive after returning from this function. This means you should not perform any operations that return a result to you asynchronously. 这段文字告诉我们:如果通过<receiver>标签来注册的BroadcastReceiver,那么该对象的实例在onReceive被调用之后就会在任意时间内被销毁。也就是说,我们并需要担心静态注册的BroadcastReceiver的销毁问题。

虽然,这个过程貌似有点枉费心机,但是,Michael还找到了如何将Android源码添加到IDE中,以便在开发过程中浏览,同时还用上了很cool的版本控制软件——Git。昨晚的兜兜转转实际上收获颇丰,开心ing......

转载于:https://www.cnblogs.com/perhaps/archive/2010/04/17/1714230.html

静态注册BroadcastReceiver的注销问题相关推荐

  1. 静态注册BroadcastReceiver内部类

    先看代码: [java] view plaincopy public class ZonePicker { public static class SetDefaultTimeZone extends ...

  2. android的动态注册,Android应用开发之BroadcastReceiver(广播)的静态注册和动态注册 --Android开发...

    本文将带你了解Android应用开发之BroadcastReceiver(广播)的静态注册和动态注册 --Android开发,希望本文对大家学Android有所帮助 BroadcastReceiver ...

  3. Android复习12【广播接收者-BroadcastReceiver(简单案例-发送广播、静态注册、动态注册、本地广播、代码示例(别处登陆踢用户下线)、常用系统广播总结、音乐播放器)】

    2020-04-28[11周-周二] 音乐播放器Android代码下载:https://wws.lanzous.com/ifqzihaxvij 目   录 简单案例-发送广播 2)动态注册实例(监听网 ...

  4. android 静态注册wifi广播,Android中BroadcastReceiver详解

    BroadcastReceiver是什么? Android app可以发送广播也可以接收系统或者其它app发送的广播,是发送/订阅的设计模式.这些广播被发送当重要的事件发生的时候.例如,安卓系统发送广 ...

  5. Android 第十九课 大喇叭--广播机制----动态注册监听网络变化与静态注册实现开机启动

    为了便于进行 系统级别的消息通知,Android引入了一套广播消息机制. 1.广播机制简介: 因为Android中的每个应用程序都可以对自己感兴趣的广播尽心注册,这样程序只会接收自己所关心的广播内容, ...

  6. 1-AII--BroadcastReceiver广播的静态注册与动态注册

    一.静态广播注册 MainActivity.java public class MainActivity extends AppCompatActivity {@BindView(R.id.btn_s ...

  7. 广播接收器动静态注册

    广播接收器可以自由地对自己感兴趣的广播进行注册,这样当有相应的广播发出时,广播接收器就能够收到该广播,并在内部处理相应的逻辑.注册广播的方式一般有两种,在代码中注册和在AndroidManifest. ...

  8. oracle监听器动态注册于静态注册的区别

    2019独角兽企业重金招聘Python工程师标准>>> 1, oracle 10g 用netca方式建立的都默认为动态注册方式 2,如果想改为静态注册的方式则在listener.or ...

  9. Oracle Listener 动态注册 与 静态注册

    一.什么是注册 注册就是将数据库作为一个服务注册到监听程序.客户端不需要知道数据库名和实例名,只需要知道该数据库对外提供的服务名就可以申请连接到数据库.这个服务名可能与实例名一样,也有可能不一样. 在 ...

最新文章

  1. 一文搞清楚QPS、TPS、并发用户数、吞吐量
  2. PHP安装wamp设置虚拟目录后,无法访问localhost问题
  3. STM32之独立版USB(Host)驱动+MSC+Fatfs移植
  4. 【快乐水题】1518. 换酒问题
  5. 拿 C# 搞函数式编程
  6. 大数据笔记-0907
  7. Base64编码简介及在java中的使用
  8. 3成失眠者放下手机才能睡 说中你了吗?
  9. Cisco AP-Sniffer模式空口抓包
  10. “.NET研究”理解.NET程序集的执行过程
  11. 优点三维逆向建模——消除实景三维应用后顾之忧
  12. 计算机网络:网络安全(电子邮件安全)
  13. 算法 | 八皇后问题
  14. nginx reopen
  15. 现在做Android开发有前途吗?Android面试题及解析
  16. 用canvas和原生JS写的一个flappy bird游戏
  17. 跟小博老师一起学习MyBatis ——MyBatis搭建运行环境
  18. 【正点原子FPGA连载】第十六章Petalinux设计流程实战摘自【正点原子】DFZU2EG_4EV MPSoC之嵌入式Linux开发指南
  19. 阿里云、腾讯云、华为云、Ucloud(优刻得)、天翼云 的云服务器性能测试和价格对比
  20. LU分解完成利用节点电压法的简易电路求解程序(二)

热门文章

  1. matlab保存格式可以用cad打开文件,怎么将TXT文件导入CAD中生成图形
  2. java datetime 转换_如何实现Java日期时间格式转换
  3. 文件路径和模块路径、nodemon工具
  4. Linux 学会看日志文件处理问题
  5. 互联网晚报 | 2月22日 星期二 | 海底捞预告去年最高亏45亿元;奥迪一汽新能源汽车项目启动;英雄互娱更名“英雄游戏”...
  6. B端产品流程图一网打尽
  7. java连接zookeeper_java 学习笔记(四) java连接ZooKeeper
  8. 对接闪送_中国快递业加速出海,圆通上线“全球闪送”,与顺丰、申通抢市场...
  9. hive 删除分区_数据仓库工具hive面试题集锦(纯干货)
  10. python输出自己的名字_【Python】Python-用大写字母打印你的名字