ANR
ANR 产生的原因:
1. 主线程请求网络资源,数据库访问或者io访问,这些操作都是耗时操作,主线程处于阻塞状态,如果超时等待,会发生anr
2. cpu处于饥饿状态,无法让主线程运行,导致anr
3. 其他进程或者线程占用cpu资源,无法释放资源让该主线程运行,导致anr
4. 死锁,即主线程等待的锁正在被其它线程占用,无法释放。
ANR 分析点:
1. Logcat 输出的ANR产生信息:
* 关注发生ANR前后的CPU占用率。
2. data/anr/traces.txt
* 死锁
> 如何判断死锁
网友评论