当前位置:   article > 正文

Android Log分析ANR简单小结_input dispatching timed out (application does not

input dispatching timed out (application does not have a focused window)

搜索关键字:

  • 【last ANR】
  • 【InputDispatcher】
  • 【wm_on_】
  • 【ActivityManager: ANR in】

分析过程:

  • 搜索关键字【VM TRACES AT LAST ANR】找到ANR的trace文件(该文件内容其实就在下面几行),通过关键字【“main”】查看主线程调用栈,如果调用栈中有我们APP包名调用的方法就能直接定位到是哪里的问题了
  • 搜索关键字【ActivityManager: ANR in】,下一行【Reason】可以直接看到ANR产生的原因
  • 然后看看【CPU usage】部分,看看哪个APP占用cpu比例最高,如果某个APP占用CPU超过100%,那很大概率是该APP引起的;如果CPU占用率很低,那可能是主线程阻塞了。
  • 【TOTAL:】部分可以看出占用CUP的哪一类操作,比如【iowait】是指正在等待IO操作;
  • 如果【Reason:】显示” Input dispatching timed out”,那么可以搜索【InputDispatcher】以及【wm_on_】关键字,根据ANR发生时间找到该时间前后打印的Log,比如【Reason: Input dispatching timed out (ActivityRecord{c88403a u0 com.android.settings/.homepage.SettingsHomepageActivity t78} does not have a focused window)】,经过排查就是该Activity在ANR发生之前就已经stop了,导致没有focused window去处理该input事件
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/204131
推荐阅读
相关标签
  

闽ICP备14008679号