BroadCastReceiver的生命周期只有十秒左右,如果在 onReceive() 内做超过十秒
内的事情,就会报错 。

每次广播到来时 , 会重新创建 BroadcastReceiver 对象 , 并且调用
onReceive() 方法 , 执行完以后 , 该对象即被销毁 . 当 onReceive() 方法在
10 秒内没有执行完毕, Android 会认为该程序无响应 . 所以在

BroadcastReceiver 里不能做一些比较耗时的操作 , 否侧会弹出
ANR(Application No

Response) 的对话框 . 。(如图):

怎么用好 BroadcastReceiver ?

如果需要完成一项比较耗时的工作 , 应该通过发送 Intent 给 Service, 由
Service 来完成 . 这里不能使用子线程来解决 , 因为 BroadcastReceiver 的生
命周期很短 , 子线程可能还没有结束

BroadcastReceiver 就先结束了 .BroadcastReceiver 一旦结束 , 此时
BroadcastReceiver 的

所在进程很容易在系统需要内存时被优先杀死 , 因为它属于空进程 ( 没有任何活
动组件的进程 ). 如果它的宿主进程被杀死 , 那么正在工作的子线程也会被杀
死 . 所以采用子线程来解决是不可靠的 .

android BroadCastReveceiver相关推荐

  1. Unity5.6+ 导出Android 应用程序apk的环境配置及导出过程

    首先下载并安装安卓SDK和java的JDK 安卓sdk下载: http://www.android-studio.org/ 也可以在这下载: 链接:http://pan.baidu.com/s/1bp ...

  2. Android 的NDK的Makefile编写

    Android.mk 是google根据Linux GNU Makefile精简编译脚本.具体来说:这就是GNU Makefile的一小部分. 举一个简单例子: LOCAL_PATH := $(cal ...

  3. Android Animation (安卓动画)概念简介

    Android Animation Android 四种动画分别为逐帧动画和补间动画.属性动画.过渡动画: Frame Animation (逐帧动画) 实现方式:xml 和 Java代码 图片跳转的 ...

  4. 基于Android和SpringBoot的购物App

    (Shopping)购物应用商城 本软件使用Android和SpringBoot.JavaWeb技术实现:并结合百度LBS平台的SDK.支付宝App支付客户端SDK.MobTech的ShareSDK: ...

  5. Android数据持久化:SharePreference

    SharePreference:作为Android数据持久化的一种,具有一定的便捷性,适合存储一些体积小的数据. 存储数据方式:键值对的方式,类似于Map: 利用SharePreference.Edi ...

  6. Android数据持久化:文件存储

    数据持久化: 数据可分为瞬时数据和关键数据.保存在内存之中的数据是瞬时数据,而对于一些关键性数据,后期需要持续使用的,应当保存在存储设备中: 持久化保存方式: 文件存储.SharePreference ...

  7. Android Studio中RecycerView依赖库加载问题

    依赖包导入思考: 参考资料:recycleview导包问题 打开修改本项目中的build.gradle; 切勿着急添加包,应当提前查看其中的版本号(因为加载的v7包要和其版本保持一致性): 例如: 因 ...

  8. Android布局优化之include、merge、ViewStub

    include:引入重复使用的相同布局 merge:减少include布局的层级,将子元素直接添加到merge标签的parent中 ViewStub:其实就是一个宽高都为0的一个View,它默认是不可 ...

  9. Android动画之帧动画和补间动画

    Android系统提供三种动画:帧动画.补间动画和属性动画.这里先分析总结帧动画和补间动画. FrameAnimation 帧动画,通俗来说就是按照图片动作顺序依次播放来形成动画,创建帧动画可以用 x ...

最新文章

  1. 微服务化的十个设计要点
  2. 消息 8101,级别 16,状态 1,第 1 行仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表'CUSTOMER_TBL'中的标识列指定显式值。...
  3. XPath学习:轴(13)——namespace
  4. idea.config.path is invalid 问题
  5. svn: error while loading shared libraries: libsvn_client-1.so.0
  6. Linux socket多进程服务器框架二
  7. DROP TABLE ** CASCADE CONSTRAINTS PURGE删除表的时候级联删除从表外键
  8. opend和open的区别_open与open up的区别
  9. matlab 可视化(specifier)
  10. android activity根节点addview_Android嵌入到页面中的加载动画工具类
  11. ELF 文件数据分析: 全局变量
  12. Ipad投屏到windows工具推荐
  13. 版本控制系统(vcs)Git
  14. 剩余寿命与年龄的极限分布
  15. Unity3D使用透明视频,解决Pr导出WebM毛边问题
  16. 解决Windows桌面部分快捷方式图标变为空白的问题
  17. android移动控件位置
  18. 神经网络预测参数有哪些,神经网络预测参数包括
  19. Linux下安装Nginx(实战配置)
  20. java怎么判断field类型_java技巧:反射判断field类型方法

热门文章

  1. 智慧工地车辆冲洗系统 工地渣土车未冲洗自动抓拍 yolo
  2. 关于列表的“切片”操作
  3. 基于STC8G2K64S4单片机控制小车循迹(直流电机和步进电机)
  4. Vultr VPS开放HTTP端口
  5. 「实战」谷歌广告账户可以退款吗?怎么退款?
  6. 程序员人人都会遇到的“画饼”,一招教你破解
  7. python量化策略——Fama-French三因子模型(回归获取alpha)阿尔法α策略。
  8. Pandas库基本使用
  9. 手机沙盒隔离软件_虚拟隔离沙箱|隔离沙箱(BufferZone Pro)下载 v4.07 免费版 - 121下载站...
  10. 【查找算法】折半查找法