ANR线下分析:
出现anr后可通过 adb pull data/arn/traces.txt 查看,找出出现anr的提示,根据提示进行修改处理。
-----------------------------------------------------------
ANR线上处理之anrwatchdog库:
用法不予详述。
原理:调用start之后开启线程,然后主线程Post一个消息,对一个值执行+1操作,post之后就sleep一段时间,sleep完毕后,查看这个值是否被改变,如果改了,则说明线程正常执行,如果未修改,则说明处于arn中,此时就会抛出异常。
注:每次检测完毕后如果直接崩溃应用,则在体验上十分不好,所以我们可以对这个库进行二次开发,出现异常后收集信息并上报或检出排查,参照:http://www.coderlife.site/android/2018/08/20/extend-anr-watchdog.html
还有其他库也可进行此类操作,如:BlockCanary、Matrix
。