美文网首页
1、ANR介绍

1、ANR介绍

作者: longshuai | 来源:发表于2018-06-10 00:39 被阅读0次

ANR就是Application Not Responding

产生原因:APP阻塞了UI线程

怎么产生的:

1、AMS的回调消息产生

Application:onCreate,onTerminate等 超过5秒

Activity:onCreate,onResume,onDestory,onKeyDown,onClick等超过5秒

Service:onCreate,onStart,onDestory等超过20秒

BroadcastReceive:onReceive前台广播超过20秒,后台超过60秒

2、App自己发出的消息产生

AsyncTask:onPreExecute,onProgressUpdate,onPostExecute,onCancel等超过5秒

MainThread Handler:handleMessage,post*Runnable 等超过5秒

3、偶现ANR事件, 如何去定位呢?

可以通过命令adb pull /data/anr/traces.txt . 获取ANR堆栈日志,然后查找日志里

以DALVIK THREADS:(mutexes: tll=0 tsl=0 tscl=0 ghl=0)"main" prio=5 tid=1 NATIVE开头的日志,看下出错信息,就可以分析到ANR的原因

相关文章

网友评论

      本文标题:1、ANR介绍

      本文链接:https://www.haomeiwen.com/subject/nbuvxftx.html