main (timed waiting):tid=1 systid=22386
at sun.misc.Unsafe.park(Native method)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230)
at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:88)
at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:59)
at kotlinx.coroutines.BuildersKt.runBlocking(unavailable:1)
at androidx.appcompat.app.AppCompatViewInflater.a(AppCompatViewInflater.java:20)
at androidx.appcompat.widget.ActionBarBackgroundDrawable.c(ActionBarBackgroundDrawable.java:7)
at androidx.core.app.ActivityRecreator$1.b(ActivityRecreator.java:4)
at androidx.core.app.ActivityRecreator$1.<init>(ActivityRecreator.java:87)
at com.example.sdk.MyService.initializeSdk(MyService.kt:13)
at com.example.sdk.MyService.onStartCommand(MyService.kt:98)
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:4784)
at android.app.ActivityThread.access$2000(ActivityThread.java:301)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2204)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:246)
at android.app.ActivityThread.main(ActivityThread.java:8633)
at java.lang.reflect.Method.invoke(Native method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130)
我正在为少数设备随机在 firebase 中记录此 ANR。谁能帮助我了解在哪种情况下会发生这种情况?
帮助将不胜感激。
永远不要在主线程上使用
runBlocking
。阻塞主线程会导致 ANR 崩溃。 runBlocking
块。如果从 Firebase 检索内容时网络连接缓慢或丢失,它可能会阻塞几秒钟,从而增加发生 ANR 的可能性。