如何看ANR的log判断问题原因
1.在提供的anr log中找到trace,在自己负责的模块中找到cmd,或者直接搜自己的模块,然后找到对应行开始看。
(1)找自己模块的main,主进程,看看主进程中是否有自己代码的逻辑错误,再看子进程,有错误就是这里出现问题了;没有错误的话一直向下看,直到end,代表进程结束。
2.通过trace无法判断是由于anr导致的,就继续向下看。查询logcat,看看在logcat中对应的ANR是不是由于CPU占用过高导致的,是占用过高的话,那么就把占用过高的地方放到子进程中来做;如果不是的话,继续追踪进程号,搜索进程号继续调查
3.回到trace中,查看对应的代码是否有其它问题。
ANR异常种类比较多,有的是由于某个广播、某个异常导致的,需要具体情况具体分析