android BroadCastReveceiver
BroadCastReceiver的生命周期只有十秒左右,如果在 onReceive() 内做超过十秒
内的事情,就会报错 。
每次广播到来时 , 会重新创建 BroadcastReceiver 对象 , 并且调用
onReceive() 方法 , 执行完以后 , 该对象即被销毁 . 当 onReceive() 方法在
10 秒内没有执行完毕, Android 会认为该程序无响应 . 所以在
BroadcastReceiver 里不能做一些比较耗时的操作 , 否侧会弹出
ANR(Application No
Response) 的对话框 . 。(如图):
怎么用好 BroadcastReceiver ?
如果需要完成一项比较耗时的工作 , 应该通过发送 Intent 给 Service, 由
Service 来完成 . 这里不能使用子线程来解决 , 因为 BroadcastReceiver 的生
命周期很短 , 子线程可能还没有结束
BroadcastReceiver 就先结束了 .BroadcastReceiver 一旦结束 , 此时
BroadcastReceiver 的
所在进程很容易在系统需要内存时被优先杀死 , 因为它属于空进程 ( 没有任何活
动组件的进程 ). 如果它的宿主进程被杀死 , 那么正在工作的子线程也会被杀
死 . 所以采用子线程来解决是不可靠的 .
android BroadCastReveceiver相关推荐
- Unity5.6+ 导出Android 应用程序apk的环境配置及导出过程
首先下载并安装安卓SDK和java的JDK 安卓sdk下载: http://www.android-studio.org/ 也可以在这下载: 链接:http://pan.baidu.com/s/1bp ...
- Android 的NDK的Makefile编写
Android.mk 是google根据Linux GNU Makefile精简编译脚本.具体来说:这就是GNU Makefile的一小部分. 举一个简单例子: LOCAL_PATH := $(cal ...
- Android Animation (安卓动画)概念简介
Android Animation Android 四种动画分别为逐帧动画和补间动画.属性动画.过渡动画: Frame Animation (逐帧动画) 实现方式:xml 和 Java代码 图片跳转的 ...
- 基于Android和SpringBoot的购物App
(Shopping)购物应用商城 本软件使用Android和SpringBoot.JavaWeb技术实现:并结合百度LBS平台的SDK.支付宝App支付客户端SDK.MobTech的ShareSDK: ...
- Android数据持久化:SharePreference
SharePreference:作为Android数据持久化的一种,具有一定的便捷性,适合存储一些体积小的数据. 存储数据方式:键值对的方式,类似于Map: 利用SharePreference.Edi ...
- Android数据持久化:文件存储
数据持久化: 数据可分为瞬时数据和关键数据.保存在内存之中的数据是瞬时数据,而对于一些关键性数据,后期需要持续使用的,应当保存在存储设备中: 持久化保存方式: 文件存储.SharePreference ...
- Android Studio中RecycerView依赖库加载问题
依赖包导入思考: 参考资料:recycleview导包问题 打开修改本项目中的build.gradle; 切勿着急添加包,应当提前查看其中的版本号(因为加载的v7包要和其版本保持一致性): 例如: 因 ...
- Android布局优化之include、merge、ViewStub
include:引入重复使用的相同布局 merge:减少include布局的层级,将子元素直接添加到merge标签的parent中 ViewStub:其实就是一个宽高都为0的一个View,它默认是不可 ...
- Android动画之帧动画和补间动画
Android系统提供三种动画:帧动画.补间动画和属性动画.这里先分析总结帧动画和补间动画. FrameAnimation 帧动画,通俗来说就是按照图片动作顺序依次播放来形成动画,创建帧动画可以用 x ...
最新文章
- 微服务化的十个设计要点
- 消息 8101,级别 16,状态 1,第 1 行仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表'CUSTOMER_TBL'中的标识列指定显式值。...
- XPath学习:轴(13)——namespace
- idea.config.path is invalid 问题
- svn: error while loading shared libraries: libsvn_client-1.so.0
- Linux socket多进程服务器框架二
- DROP TABLE ** CASCADE CONSTRAINTS PURGE删除表的时候级联删除从表外键
- opend和open的区别_open与open up的区别
- matlab 可视化(specifier)
- android activity根节点addview_Android嵌入到页面中的加载动画工具类
- ELF 文件数据分析: 全局变量
- Ipad投屏到windows工具推荐
- 版本控制系统(vcs)Git
- 剩余寿命与年龄的极限分布
- Unity3D使用透明视频,解决Pr导出WebM毛边问题
- 解决Windows桌面部分快捷方式图标变为空白的问题
- android移动控件位置
- 神经网络预测参数有哪些,神经网络预测参数包括
- Linux下安装Nginx(实战配置)
- java怎么判断field类型_java技巧:反射判断field类型方法
热门文章
- 智慧工地车辆冲洗系统 工地渣土车未冲洗自动抓拍 yolo
- 关于列表的“切片”操作
- 基于STC8G2K64S4单片机控制小车循迹(直流电机和步进电机)
- Vultr VPS开放HTTP端口
- 「实战」谷歌广告账户可以退款吗?怎么退款?
- 程序员人人都会遇到的“画饼”,一招教你破解
- python量化策略——Fama-French三因子模型(回归获取alpha)阿尔法α策略。
- Pandas库基本使用
- 手机沙盒隔离软件_虚拟隔离沙箱|隔离沙箱(BufferZone Pro)下载 v4.07 免费版 - 121下载站...
- 【查找算法】折半查找法