Android ANR/Crash on 4.4 版本

Posted

技术标签:

【中文标题】Android ANR/Crash on 4.4 版本【英文标题】:Android ANR/Crash on 4.4 version 【发布时间】:2016-10-05 18:43:14 【问题描述】:

全部,

我在 android 4.4 设备上面临 ANR/崩溃。以下是我从设备收到的提及日志。我仍然无法调试/关联这个问题。有人可以帮我追踪并解决这个问题。

在 android.view.GLES20Canvas.nDrawDisplayList(Native Method) 在 android.view.GLES20Canvas.drawDisplayList(GLES20Canvas.java:420) 在 android.view.HardwareRenderer$GlRenderer.drawDisplayList(HardwareRenderer.java:1661) 在 android.view.HardwareRenderer$GlRenderer.draw(HardwareRenderer.java:1484) 在 android.view.ViewRootImpl.draw(ViewRootImpl.java:2685) 在 android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2551) 在 android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2157) 在 android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1239) 在 android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6396) 在 android.view.Choreographer$CallbackRecord.run(Choreographer.java:813) 在 android.view.Choreographer.doCallbacks(Choreographer.java:613) 在 android.view.Choreographer.doFrame(Choreographer.java:583) 在 android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:799) 在 android.os.Handler.handleCallback(Handler.java:733) 在 android.os.Handler.dispatchMessage(Handler.java:95) 在 android.os.Looper.loop(Looper.java:146) 在 android.app.ActivityThread.main(ActivityThread.java:5511) 在 java.lang.reflect.Method.invokeNative(Native Method) 在 java.lang.reflect.Method.invoke(Method.java:515) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099) 在 dalvik.system.NativeStart.main(Native Method)

请检查并帮助我解决此问题。

谢谢 阿米特

【问题讨论】:

我最近在三星 GT-N7108 上遇到了具有相同堆栈跟踪的崩溃。你是怎么解决你的问题的? SO上有人建议禁用hardware acceleration.现在我正在尝试找到建议 我在上一条评论中谈到的建议。 ***.com/a/13822045/1065835 @MaksimDmitriev 如果可以让崩溃一次又一次地重现,能否显示相关代码?只看日志,没有代码有时很难提供任何具体的输入 @AADTechnical 基本上,当我们尝试在屏幕上打开菜单选项时,我发现了这个崩溃。我仍然无法重现它。但是我的 AppSee 总是会出现这个错误。不确定,但它只发生在 APPSEE “原因”消息是什么? 【参考方案1】:

尝试为运行时滚动视图禁用硬件加速

View scroll = layout.findViewById(R.id.scrollView1);
scroll.setLayerType(View.LAYER_TYPE_SOFTWARE, null);

我找到了这个以获得更详细的解释,它可能会帮助您检查一次

WebView in ScrollView: "View too large to fit into drawing cache" - how to rework layout?

【讨论】:

我想要一个更详细的答案。如果你编辑你的,我可能会接受它 @UmaAchanta 我不想在我的片段中使用滚动视图。不确定这对我有用。无论如何谢谢:)

以上是关于Android ANR/Crash on 4.4 版本的主要内容,如果未能解决你的问题,请参考以下文章

找不到 com.android.tools.build:gradle:4.4

离子框架远程图像未在 android 设备 < 4.4 上加载

Mockito + Dexmaker 测试在 Android < 4.4 上运行时崩溃

Android - 可扩展列表视图 SetIndicatorBounds 在 Kitkat android-4.4 中不起作用

Android4.4.4之bug总结

Android系统版本特性(4.4版本--11版本)