一、ANR产生
1.对于Activity,在5秒内没有响应输入的事件(例如,按键按下,屏幕触摸)
2.对于BroadcastReceiver,在10秒内没有执行完毕
二、ANR避免
1.对于Activity,主线程里不做耗时操作。数据库、网络、耗时计算(如比特图位移)用子线程做,把结果用hangdler方式返回主线程。
2.对于BroadcastReceiver,在IntentReceiver里,只做耗时小的操作,如保存设定或者注册一个Notification。对于耗时操作,应启动一个Service来完成。另外,在IntentReceiver里,不要启动Activity,而应该用Notification来处理。
分享到:
相关推荐
遇到ANR(Application Not Responding)是比较常见的问题,产生ANR的原因有很多,比如CPU使用过高、事件没有得到及时的响应、死锁等,下面将通过一次因为死锁导致的ANR问题,来说明如何通过trace文件分析ANR问题
ANR日志分析全面解析
android平台ANR代码流程的分析,有助于分析ANR发生的原因。
MTK 内部资料介绍ANR 相关 Outline ▪ What is ANR; ▪ ANR key info; ▪ Analyze ANR; ▪ Example; ▪ Need MTK help; ▪ Monkey ANR
ANR:Application Not Responding,即应用无响应 ANR的类型 ANR一般有三种类型: 1:KeyDispatchTimeout(5 seconds) --主要类型 按键或触摸事件在特定时间内无响应 2:BroadcastTimeout(10 seconds) ...
Android图片压缩解决方案,解决图片加载过程中ANR现象
此Demo实现了监测Android应用程序ANR,并且在发生ANR时,对产生ANR的地方进行了定位,从而能在发生ANR后快速找到主线程耗时操作,从而快速修复。
ANR各种日志.rar
ANR案例,从系统Log,到/data/anr/traces.txt。 ANR案例,从系统Log,到/data/anr/traces.txt。
android7 framework自动关闭Anr对话框,延迟一段时间。
android anr ANR
ANR软件.rarANR软件.rar
一个防止ANR错误HandlerThread多线程解决耗时操作的源码程序20210525记录学习
关于ANR原理的透彻总结,简单易懂
本文对Android中常发生的ANR现象的成因原理及主要发生场景进行了简要介绍,举例了几种典型的ANR场景实例。总结提供了优化改善的若干解决思路。 值得Android开发人员收藏!
具备ANR技术的NVR会在网络出现故障时自动启用前端存储,网络恢复后再将前端存储数据自动同步至NVR中心,并且是在不影响实时视频传输质量的前提下,从而实现了中心与前端的双存储备份,有效提升存储的可靠性与灵活性...
此demo可以捕获android的异常,可以捕获ANR+UncaughtExceptionHandler类异常,并输出到本地文件,6.0需要添加动态读写权限
华为LTE-ANR邻区自动优化.pdf
一个简单的看门狗,它检测Android ANR(应用程序不响应)错误,并抛出一个有意义的异常
抓anr 工具