com.github.anrwatchdog.ANRError:应用程序无响应至少 5000 毫秒

问题描述

我在我的项目中使用了 ANRWatchDog

我收到了这个错误。我猜这是由于我添加某些内容或使用 toPrettyJson()

时不正确的协程使用引起的
com.github.anrwatchdog.ANRError: Application Not Responding for at least 5000 ms.
Caused by: com.github.anrwatchdog.ANRError$$$_Thread: main (state = RUNNABLE)
    at com.google.gson.internal.bind.TypeAdapters$29.read(TypeAdapters.java:700)
    at com.google.gson.internal.bind.TypeAdapters$29.read(TypeAdapters.java:715)
    at com.google.gson.internal.bind.TypeAdapters$29.read(TypeAdapters.java:723)
    at com.google.gson.internal.bind.TypeAdapters$29.read(TypeAdapters.java:723)
    at com.google.gson.internal.bind.TypeAdapters$29.read(TypeAdapters.java:698)
    at com.google.gson.internal.Streams.parse(Streams.java:48)
    at com.google.gson.JsonParser.parseReader(JsonParser.java:85)
    at com.google.gson.JsonParser.parseReader(JsonParser.java:60)
    at com.google.gson.JsonParser.parseString(JsonParser.java:47)
    at com.google.gson.JsonParser.parse(JsonParser.java:98)
    at io.example.module_a.utils.TextUtil.toPrettyJson(TextUtil.kt:19)
    at io.example.app.model.result.ProductData.toString(ProductData.kt:51)
    at io.example.app.ui.result.Mainviewmodel$add$1.invokeSuspend(Mainviewmodel.kt:403)
    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
    at kotlinx.coroutines.internal.dispatchedContinuationKt.resumeCancellableWith(dispatchedContinuation.kt:342)
    at kotlinx.coroutines.intrinsics.CancellableKt.startCoroutineCancellable(Cancellable.kt:30)
    at kotlinx.coroutines.intrinsics.CancellableKt.startCoroutineCancellable$default(Cancellable.kt:27)
    at kotlinx.coroutines.Coroutinestart.invoke(Coroutinestart.kt:109)
    at kotlinx.coroutines.AbstractCoroutine.start(AbstractCoroutine.kt:158)
    at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch(Builders.common.kt:56)
    at kotlinx.coroutines.BuildersKt.launch(UnkNown Source)
    at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch$default(Builders.common.kt:49)
    at kotlinx.coroutines.BuildersKt.launch$default(UnkNown Source)
    at io.example.app.ui.result.Mainviewmodel.add(Mainviewmodel.kt:402)
    at io.example.app.ui.result.MainActivity.add(MainActivity.kt:346)
    at io.example.app.ui.result.MainActivity$onAddListener$1.onAdd(MainActivity.kt:364)
    at io.example.app.ui.adapter.Mainlistadapter$onBindViewHolder$3.onClick(Mainlistadapter.kt:145)
    at android.view.View.performClick(View.java:5657)
    at android.view.View$PerformClick.run(View.java:22453)
    at android.os.Handler.handleCallback(Handler.java:751)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:154)
    at android.app.ActivityThread.main(ActivityThread.java:6119)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
Caused by: com.github.anrwatchdog.ANRError$$$_Thread: CleanupReference (state = WAITING)
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:407)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:188)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:209)
    at Fj.run(chromium-SystemWebViewGoogle.aab-stable-447210103:2)
Caused by: com.github.anrwatchdog.ANRError$$$_Thread: ConnectivityManager (state = RUNNABLE)
    at android.os.MessageQueue.nativePollOnce(Native Method)
    at android.os.MessageQueue.next(MessageQueue.java:323)
    at android.os.Looper.loop(Looper.java:136)
    at android.os.HandlerThread.run(HandlerThread.java:61)
Caused by: com.github.anrwatchdog.ANRError$$$_Thread: Crashlytics Exception Handler1 (state = WAITING)
    at java.lang.Object.wait(Native Method)
    at java.lang.Thread.parkFor$(Thread.java:2127)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
New
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
    at com.google.firebase.crashlytics.internal.common.ExecutorUtils$1$1.onRun(ExecutorUtils.java:64)
    at com.google.firebase.crashlytics.internal.common.BackgroundPriorityRunnable.run(BackgroundPriorityRunnable.java:27)
    at java.lang.Thread.run(Thread.java:761)
Caused by: com.github.anrwatchdog.ANRError$$$_Thread: Defaultdispatcher-worker-1 (state = TIMED_WAITING)
    at java.lang.Object.wait(Native Method)
    at java.lang.Thread.parkFor$(Thread.java:2127)
    at sun.misc.Unsafe.park(Unsafe.java:325)
    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:324)
    at kotlinx.coroutines.scheduling.Coroutinescheduler$Worker.park(Coroutinescheduler.kt:795)
    at kotlinx.coroutines.scheduling.Coroutinescheduler$Worker.tryPark(Coroutinescheduler.kt:740)
    at kotlinx.coroutines.scheduling.Coroutinescheduler$Worker.runWorker(Coroutinescheduler.kt:711)
    at kotlinx.coroutines.scheduling.Coroutinescheduler$Worker.run(Coroutinescheduler.kt:665)
Caused by: com.github.anrwatchdog.ANRError$$$_Thread: Defaultdispatcher-worker-10 (state = TIMED_WAITING)
    ... 8 more
Caused by: com.github.anrwatchdog.ANRError$$$_Thread: Defaultdispatcher-worker-2 (state = TIMED_WAITING)
    ... 8 more
Caused by: com.github.anrwatchdog.ANRError$$$_Thread: Defaultdispatcher-worker-3 (state = TIMED_WAITING)
    ... 8 more
Caused by: com.github.anrwatchdog.ANRError$$$_Thread: Defaultdispatcher-worker-4 (state = TIMED_WAITING)
    ... 8 more
Caused by: com.github.anrwatchdog.ANRError$$$_Thread: Defaultdispatcher-worker-5 (state = TIMED_WAITING)
    ... 8 more
Caused by: com.github.anrwatchdog.ANRError$$$_Thread: Defaultdispatcher-worker-6 (state = TIMED_WAITING)
    ... 8 more
Caused by: com.github.anrwatchdog.ANRError$$$_Thread: Defaultdispatcher-worker-7 (state = TIMED_WAITING)
    ... 8 more
Caused by: com.github.anrwatchdog.ANRError$$$_Thread: Defaultdispatcher-worker-8 (state = TIMED_WAITING)
    ... 8 more
Caused by: com.github.anrwatchdog.ANRError$$$_Thread: Defaultdispatcher-worker-9 (state = TIMED_WAITING)
    ... 8 more
Caused by: com.github.anrwatchdog.ANRError$$$_Thread: FinalizerDaemon (state = WAITING)
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:407)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:188)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:209)
    at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:204)
    at java.lang.Thread.run(Thread.java:761)
Caused by: com.github.anrwatchdog.ANRError$$$_Thread: FinalizerWatchdogDaemon (state = TIMED_WAITING)
    at java.lang.Thread.sleep(Native Method)
    at java.lang.Thread.sleep(Thread.java:371)
    at java.lang.Thread.sleep(Thread.java:313)
    at java.lang.Daemons$FinalizerWatchdogDaemon.sleepFor(Daemons.java:314)
    at java.lang.Daemons$FinalizerWatchdogDaemon.waitForFinalization(Daemons.java:336)
    at java.lang.Daemons$FinalizerWatchdogDaemon.run(Daemons.java:253)
    ... 1 more
Caused by: com.github.anrwatchdog.ANRError$$$_Thread: GoogleApiHandler (state = RUNNABLE)
    at android.os.MessageQueue.nativePollOnce(Native Method)
    at android.os.MessageQueue.next(MessageQueue.java:323)
    at android.os.Looper.loop(Looper.java:136)
    at android.os.HandlerThread.run(HandlerThread.java:61)
Caused by: com.github.anrwatchdog.ANRError$$$_Thread: HeapTaskDaemon (state = WAITING)
    at dalvik.system.vmruntime.runHeapTasks(Native Method)
    at java.lang.Daemons$HeapTaskDaemon.run(Daemons.java:433)
    at java.lang.Thread.run(Thread.java:761)
Caused by: com.github.anrwatchdog.ANRError$$$_Thread: OkHttp ConnectionPool (state = TIMED_WAITING)

toPrettyJson() 是这样的:

    fun toPrettyJson(src: Any): String {
        val str = Gson().toJson(src)
        val gson: Gson = GsonBuilder().setPrettyPrinting().create()
        val jp = JsonParser()
        val je: JsonElement = jp.parse(str)

        return gson.toJson(je)
    }

你有什么想法吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)