ANR原因的分析方法.docVIP

  • 20
  • 0
  • 约1.59万字
  • 约 9页
  • 2017-02-12 发布于江苏
  • 举报
ANR原因分析及解决方法 (技术文档) 内容目录 1 ANR是如何产生的 5 1.1 ANR产生条件 5 1.2 引起ANR的根本原因 5 2 ANR原因分析方法 5 2.1 通过logcat日志分析原因 5 2.2 通过trace文件分析原因 9 3 ANR解决方法 12 4 参考资料 12 ANR是如何产生的 ANR产生条件 ANR的产生需要同时满足三个条件: 主线程:只有应用程序进程的主线程响应超时才会产生ANR; 超时时间:产生ANR的上下文不同,超时时间也不同,但只要超过这个时间上限没有响应就会产生ANR; 输入事件/特定操作:输入事件是指按键、触屏等设备输入事件,特定操作是指BroadcastReceiver和Service的生命周期中的各个函数调用。 产生ANR的上下文不同,导致ANR原因也不同,主要有以下三种情况: 应用进程的主线程对输入事件在5s内没有处理完毕; 应用进程的主线程在执行BroadcastRecevier的onReceive函数时10s内没有处理完毕; 应用进程的主线程在执行Service的各个生命周期函数时20s内没有处理完毕; 引起ANR的根本原因 引起ANR的根本原因,总的来说可以归纳为两类: 应用进程自身引起的,比如:主线程阻塞

文档评论(0)

1亿VIP精品文档

相关文档