关键字为 waiting to lock, held by thread,locked
"Binder:1404_15" prio=5 tid=119 Blocked
| group="main" sCount=1 dsCount=0 flags=1 obj=0x12cd0d08 self=0x7980a9ee00| sysTid=11818 nice=0 cgrp=default sched=0/0 handle=0x79801204f0
| state=S schedstat=( 722836649188 56409529938 665035 ) utm=68599 stm=3684 core=7 HZ=100
| stack=0x7980026000-0x7980028000 stackSize=1005KB
| held mutexes=
at com.android.server.wm.WindowManagerService.getStableInsets(WindowManagerService.java:7344)
- waiting to lock <0x0785a008> (a com.android.server.wm.WindowHashMap) held by thread 28
at android.view.IWindowManager$Stub.onTransact(IWindowManager.java:972)
at com.android.server.wm.WindowManagerService.onTransact(WindowManagerService.java:1186)
at android.os.Binder.execTransact(Binder.java:714)
DALVIK THREADS (133):
"android.anim" prio=5 tid=28 Runnable
| group="main" sCount=0 dsCount=0 flags=0 obj=0x12cc5040 self=0x79a1e92c00
| sysTid=1728 nice=-10 cgrp=default sched=0/0 handle=0x79853594f0
| state=R schedstat=( 86349618624900 742763551818 15256866 ) utm=8535192 stm=99769 core=4 HZ=100
| stack=0x7985257000-0x7985259000 stackSize=1037KB
| held mutexes= "mutator lock"(shared held)
at java.util.ArrayList.get(ArrayList.java:436)
at com.android.server.wm.WindowContainer.checkAppWindowsReadyToShow(WindowContainer.java:502)
at com.android.server.wm.WindowContainer.checkAppWindowsReadyToShow(WindowContainer.java:503)
at com.android.server.wm.WindowContainer.checkAppWindowsReadyToShow(WindowContainer.java:503)
at com.android.server.wm.WindowContainer.checkAppWindowsReadyToShow(WindowContainer.java:503)
at com.android.server.wm.WindowAnimator.animate(WindowAnimator.java:210)
- locked <0x0785a008> (a com.android.server.wm.WindowHashMap)
http://duanqz.github.io/2015-10-12-ANR-Analysis