在 Android 13 设备中面临较高的 ANR 率

问题描述 投票:0回答:2

我的 Android 应用程序遇到严重问题。我面临着较高的 ANR(应用程序无响应)率,这种情况仅发生在 Android 版本 13 设备上。尽管进行了详尽的尝试,我仍无法一致地重现 ANR 或确定其根本原因。

我从 Firebase crashlytics 获取此堆栈跟踪

    main (native):tid=1 systid=13180 
    #00 pc 0x501b0 libc.so (syscall + 32) (BuildId: 8cdfaa872c9e7191f6ce7a82d62dbc4b)
    #01 pc 0x54e7c libc.so (__futex_wait_ex(void volatile*, bool, int, bool, timespec const*) + 148) (BuildId: 8cdfaa872c9e7191f6ce7a82d62dbc4b)
    #02 pc 0xbb2bc libc.so (pthread_cond_wait + 80) (BuildId: 8cdfaa872c9e7191f6ce7a82d62dbc4b)
    #03 pc 0x284f3c libhwui.so (android::uirenderer::renderthread::DrawFrameTask::drawFrame() + 360) (BuildId: 56d31f3aab59c6c0ed6699bc4a8c8848)
           at android.graphics.HardwareRenderer.nSyncAndDrawFrame(Native method)
           at android.graphics.HardwareRenderer.syncAndDrawFrame(HardwareRenderer.java:457)
           at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:866)
           at android.view.ViewRootImpl.draw(ViewRootImpl.java:5120)
           at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:4819)
           at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:4014)
           at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:2606)
           at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:9773)
           at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1480)
           at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1488)
           at android.view.Choreographer.doCallbacks(Choreographer.java:1111)
           at android.view.Choreographer.doFrame(Choreographer.java:1016)
           at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1463)
           at android.os.Handler.handleCallback(Handler.java:942)
           at android.os.Handler.dispatchMessage(Handler.java:99)
           at android.os.Looper.loopOnce(Looper.java:223)
           at android.os.Looper.loop(Looper.java:324)
           at android.app.ActivityThread.main(ActivityThread.java:8631)
           at java.lang.reflect.Method.invoke(Native method)
           at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:582)
           at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1061)

我优化了我的代码,更新了使用该项目的所有依赖项,还将 AGP 升级到 v7.4.2。但没有任何效果。

android crashlytics android-sdk-tools android-anr-dialog android-13
2个回答
2
投票

你必须说得更具体一点。 您是否在应用中使用 Google 广告以及什么格式(横幅广告、插页式广告...)? 您是否在应用程序中使用动画,例如

ViewCompat.animate(View)
或类似的动画,并且您是否使用硬件加速,例如
View.LAYER_TYPE_HARDWARE
ViewPropertyAnimator.withLayer()
等?您是否将某些音频播放器与这些实例之一结合使用?

我仅在 API 33 上遇到同样的问题,目前正在研究解决方案。由于这些 ARN 的内容,无法准确知道是什么原因导致了这一让用户非常不愉快的事件。如果我找到原因了,我会写在这里,然后你回答上面的问题。谢谢。 问候。


0
投票

同样的问题,请问你找到解决办法了吗?

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