参考https://issuetracker.google.com/issues/150633385

错误日志

10###00 pc 000614de /apex/com.android.runtime/lib/bionic/libc.so (abort+165)
20###01 pc 00005a95 /system/lib/liblog.so (__android_log_assert+176)
30###02 pc 001fbb57 /system/lib/libhwui.so (_ZN7android10uirenderer12skiapipeline18SkiaOpenGLPipeline11swapBuffersERKNS0_12renderthread5FrameEbRK6SkRectPNS0_9FrameInfoEPb+94)
40###03 pc 001f9ae5 /system/lib/libhwui.so (_ZN7android10uirenderer12renderthread13CanvasContext4drawEv+488)
50###04 pc 001f8fad /system/lib/libhwui.so (_ZN7android10uirenderer12renderthread13DrawFrameTask3runEv+164)
60###05 pc 0020674d /system/lib/libhwui.so (_ZN7android10uirenderer9WorkQueue7processEv+164)
70###06 pc 0020659f /system/lib/libhwui.so (_ZN7android10uirenderer12renderthread12RenderThread10threadLoopEv+54)
80###07 pc 0000d9b3 /system/lib/libutils.so (_ZN7android6Thread11_threadLoopEPv+210)
90###08 pc 000ac4dd /apex/com.android.runtime/lib/bionic/libc.so (_ZL15__pthread_startPv+20)
100###09 pc 00062989 /apex/com.android.runtime/lib/bionic/libc.so (__start_thread+30)
111##(no managed stack frames)
1at android.graphics.HardwareRenderer.nSyncAndDrawFrame(Native Method)
2at android.graphics.HardwareRenderer.syncAndDrawFrame(HardwareRenderer.java:422)
3at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:670)
4at android.view.ViewRootImpl.draw(ViewRootImpl.java:3732)
5at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:3527)
6at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2864)
7at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1817)
8at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7779)
9at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1031)
10at android.view.Choreographer.doCallbacks(Choreographer.java:854)
11at android.view.Choreographer.doFrame(Choreographer.java:789)
12at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1016)
13at android.os.Handler.handleCallback(Handler.java:914)
14at android.os.Handler.dispatchMessage(Handler.java:100)
15at android.os.Looper.loop(Looper.java:227)
16at android.app.ActivityThread.main(ActivityThread.java:7582)
17at java.lang.reflect.Method.invoke(Native Method)
18at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539)
19at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:953)

原因:问题是由于使用了 ImMemoryDe​​xClassLoader,并且它主要发生在使用 InMemoryDe​​xClassLoader 的应用程序被发出 ANR 时。

the issue is due to the use of ImMemoryDexClassLoader, and it happens mostly when an app using InMemoryDexClassLoader gets issued an ANR.

此问题主要集中在Android 10版本并使用ImMemoryDe​​xClassLoader类加载器这种情况,官方建议是在Android 10上不使用ImMemoryDe​​xClassLoader,ImMemoryDe​​xClassLoader重要用与应用加固,因此在选择加固策略时,避免在Android 10使用ImMemoryDe​​xClassLoader

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐