一:什么是ANR ANR:Application Not Responding,即应用无响应
二:ANR的三种类型 1:KeyDispatchTimeout(5 seconds) --主要类型 按键或触摸事件在特定时间内无响应 2:BroadcastTimeout(10 seconds) BroadcastReceiver在特定时间内无法处理完成 3:ServiceTimeout(20 seconds) --小概率类型 Service在特定的时间内无法处理完成
三:如何调查并解决ANR 1:首先分析logcat log 关键字:ANR am_anr 2: 从trace.txt文件查看调用stack. /data/anr/xx-xx-xx.txt 关键字:“main” prio=5 3: 看代码 4:仔细查看ANR的成因(iowait?block?memoryleak?)
参考 Android ANR(应用无响应)解决分析 https://blog.csdn.net/u014630142/article/details/81709459 分析ANR问题 https://blog.csdn.net/weixin_38148680/article/details/79358841 深入理解ANR https://www.jianshu.com/p/54f945a15acb
|