----- pid 2298 at 2024-08-28 21:09:32.901621896+0800 ----- Cmd line: com.android.launcher Build fingerprint: 'xxx:user/release-keys' ABI: 'arm64' Build type: optimized suspend all histogram: Sum: 1.030s 99% C.I. 5.214us-4429.937us Avg: 139.048us Max: 49675us DALVIK THREADS (60): "main" prio=5 tid=1 Blocked | group="main" sCount=1 ucsCount=0 flags=1 obj=0x731e4920 self=0xb40000716ca3bc00 | sysTid=2298 nice=0 cgrp=foreground sched=1073741824/0 handle=0x721ae71d20 | state=S schedstat=( 7416519353172 1278618376091 9259320 ) utm=674457 stm=67194 core=7 HZ=100 | stack=0x7fd9a08000-0x7fd9a0a000 stackSize=8188KB | held mutexes= at x7.e.b(unavailable:0) - waiting to lock <0x0bef5c87> (a w7.a) held by thread 13 at J6.b.onTransact(unavailable:214) at android.os.Binder.execTransactInternal(Binder.java:1505) at android.os.Binder.execTransact(Binder.java:1444) at android.os.BinderProxy.transactNative(Native method) at android.os.BinderProxy.transact(BinderProxy.java:586) at x7.e.f(unavailable:59) at x7.d.onServiceConnected(unavailable:35) at x7.a.onServiceConnected(unavailable:29) - locked <0x0a85b7b4> (a java.util.Collections$SynchronizedSet) at android.app.LoadedApk$ServiceDispatcher.doConnected(LoadedApk.java:2256) at android.app.LoadedApk$ServiceDispatcher$RunConnection.run(LoadedApk.java:2289) at android.os.Handler.handleCallback(Handler.java:959) at android.os.Handler.dispatchMessage(Handler.java:100) at android.os.Looper.loopOnce(Looper.java:242) at android.os.Looper.loop(Looper.java:327) at android.app.ActivityThread.main(ActivityThread.java:8843) at java.lang.reflect.Method.invoke(Native method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:617) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1002) DumpLatencyMs: 87.2616
"BI_Common_SDK_workThread" prio=5 tid=13 Blocked | group="main" sCount=1 ucsCount=0 flags=1 obj=0x1403cfb0 self=0xb400007131cd6400 | sysTid=2337 nice=0 cgrp=foreground sched=1073741824/0 handle=0x70d07b9770 | state=S schedstat=( 1894403086 2330218128 4644 ) utm=70 stm=118 core=5 HZ=100 | stack=0x70d06b6000-0x70d06b8000 stackSize=1037KB | held mutexes= at x7.c.O(unavailable:47) - waiting to lock <0x0a85b7b4> (a java.util.Collections$SynchronizedSet) held by thread 1 - locked <@addr=0x141ff608> (a x7.c) at x7.e.g(unavailable:26) at x7.e.a(unavailable:16) - locked <0x0bef5c87> (a w7.a) at androidx.compose.ui.platform.b.l(unavailable:88) - locked <@addr=0x141fe7d0> (a y7.f) at com.android.example.reportData(unavailable:42) at com.android.example.reportDataFrom(unavailable:31) atcom.android.example.access$1400(unavailable:0) at com.android.example$3.run(unavailable:74) at android.os.Handler.handleCallback(Handler.java:959) at android.os.Handler.dispatchMessage(Handler.java:100) at android.os.Looper.loopOnce(Looper.java:242) at android.os.Looper.loop(Looper.java:327) at android.os.HandlerThread.run(HandlerThread.java:85) DumpLatencyMs: 166.269
第44行:- waiting to lock <0x0a85b7b4> (a java.util.Collections$SynchronizedSet) held by thread 1,这里是等待标识为0x0a85b7b4的锁,这个正是24行中的锁,后面显示被线程1所持有,那么正好是tid=1,与前面对应上了;
第48行: - locked <0x0bef5c87> (a w7.a),线程13持有的标识为0x0bef5c87的锁,正好是线程1等待的锁;