Android Anr问题分析

方法:

  1. logcat 看到anr问题 查看reason并定位 看cpu使用率,如果100%就是主线程堵塞,否则可能是GC问题

  2. adb pull /data/anr/traces.txt

  3. 定位日志,看主线程,如果dalvik thread 显示Supoended,内存问题

  4. 看anr发生前5slong

如何避免:
合理使用 UI 主线程,耗时操作放入其他线程工作;
合理使用 Handler 来处理其他线程请求;
合理使用并遵循 Android 生命周期, 避免在 onCreate() and onResume() 做过多的事情;
使用一些架构形成规范来避免内存等问题,例如:MVP、RxJava;
经常使用工具来检查内存问题,例如:MAT、TraceView、AS 自带等工具;
避免加载大图片引起内存不足导致 ANR;
避免内存泄露引起的 ANR

你可能感兴趣的:(Android Anr问题分析)