ANR 崩溃(sun.misc.Unsafe.park(本地方法))

问题描述 投票:0回答:1
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。谁能帮助我了解在哪种情况下会发生这种情况?

帮助将不胜感激。

multithreading threadpool kotlin-coroutines java.util.concurrent android-anr-dialog
1个回答
0
投票

永远不要在主线程上使用

runBlocking
。阻塞主线程会导致 ANR 崩溃。
runBlocking
块。如果从 Firebase 检索内容时网络连接缓慢或丢失,它可能会阻塞几秒钟,从而增加发生 ANR 的可能性。

© www.soinside.com 2019 - 2024. All rights reserved.