ANR问题分析:
1.ANR出现的原因
1.1 Activity 5s内没被App响应
1.2 BroadcastReceiver的onReceiver()超过10s
1.3 Service中各生命周期函数执行超过20s
1.4 系统CPU占满
2.ANR日志导出
2.1 执行命令导出日志:adb bugreport
2.2 打开ANR日志,目录:dumpstate\FS\data\anr
3.ANR日志分析
3.1 一个 ANR 日志,会包含当前设备中所有进程的使用情况,每个进程开头都会
以----- pid 16808 at date ----- 来开头,以 ----- end 16808 ----- 来结尾;通过包名,找到自己应用的进程:
3.2 查看主线程定位问题,找到:"main" prio=5 tid=1 Native
根据log使用profiler cpu进一步定位问题。
4.profiler cpu分析
问题已经找到了,修复即可。