1

请解释 ANR 日志中要考虑的主要关键字和要点。例如:'waiting to lock'、'locked'、'prio=5 tid=1 Blocked'等。

考虑以下一项:

"Binder:1299_11" prio=5 tid=101 Runnable
  | group="main" sCount=0 dsCount=0 flags=0 obj=0x1308b128 self=0x7be851f000
  | sysTid=2097 nice=-2 cgrp=default sched=0/0 handle=0x7be4d7e4f0
  | state=R schedstat=( 192273066159 107625086550 640192 ) utm=14531 stm=4696 core=4 HZ=100
  | stack=0x7be4c84000-0x7be4c86000 stackSize=1005KB
  | held mutexes= "mutator lock"(shared held)
  at android.os.MessageQueue.enqueueMessage(MessageQueue.java:568)
  - locked <0x06faae25> (a android.os.MessageQueue)
  at android.os.Handler.enqueueMessage(Handler.java:662)
  at android.os.Handler.sendMessageAtTime(Handler.java:631)
  at android.os.Handler.sendMessageDelayed(Handler.java:601)
  at android.os.Handler.post(Handler.java:357)
  at android.app.LoadedApk$ServiceDispatcher.connected(LoadedApk.java:1588)
  at android.app.LoadedApk$ServiceDispatcher$InnerConnection.connected(LoadedApk.java:1517)
  at com.android.server.am.ActiveServices.bringDownServiceLocked(ActiveServices.java:2505)
  at com.android.server.am.ActiveServices.bringDownServiceIfNeededLocked(ActiveServices.java:2488)
  at com.android.server.am.ActiveServices.stopServiceLocked(ActiveServices.java:584)
  at com.android.server.am.ActiveServices.stopServiceLocked(ActiveServices.java:607)
  at com.android.server.am.ActivityManagerService.stopService(ActivityManagerService.java:18593)
  - locked <0x0f699bfa> (a com.android.server.am.ActivityManagerService)
  at android.app.IActivityManager$Stub.onTransact(IActivityManager.java:555)
  at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:3038)
  at android.os.Binder.execTransact(Binder.java:697)

"main" prio=5 tid=1 Blocked
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x72601c20 self=0x7c11ac3a00
  | sysTid=1299 nice=-2 cgrp=default sched=0/0 handle=0x7c965f39a8
  | state=S schedstat=( 440423478575 218684051925 1809691 ) utm=30403 stm=13639 core=0 HZ=100
  | stack=0x7fcdb28000-0x7fcdb2a000 stackSize=8MB
  | held mutexes=
  at android.os.MessageQueue.next(MessageQueue.java:327)
  - waiting to lock <0x06faae25> (a android.os.MessageQueue) held by thread 101
  at android.os.Looper.loop(Looper.java:142)
  at com.android.server.SystemServer.run(SystemServer.java:497)
  at com.android.server.SystemServer.main(SystemServer.java:310)
  at java.lang.reflect.Method.invoke(Native method)
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)

如果您能用示例日志进行解释,将不胜感激。谢谢你的时间

4

0 回答 0