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 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,466评论 25 708
  • ANR问题,相信是每位开发日常都会遇到的问题,对于这类问题的分析,按照官方的推荐,或网络博客的总结思路能解决一定的...
    tiger桂阅读 18,026评论 5 28
  • 一.ANR是什么 Application Not Responding,字面意思就是应用无响应,稍加解释就是用户的...
    silentleaf阅读 63,862评论 7 93
  • “我们要用多大的代价,才能认清活着的意义?”这是复旦大学女教师于娟在“癌症日记”中的追问。 含着泪看完《此生未完成...
    如诗晴天阅读 1,129评论 4 9
  • 打卡day10:今天上午栋要去参加写毛笔活动,他早上说不想去了,我说:“你答应老师了,如果别人答应你了又不去,你是...
    沈小丁子阅读 157评论 0 0