简体   繁体   English

某些 android 设备上的应用程序崩溃的原因是什么

[英]What is reason of app crash on some android device

My app is crashing on some devices and while it works fine on others.我的应用程序在某些设备上崩溃,而在其他设备上运行良好。 One of my application's users sent me this exception:我的应用程序的一个用户向我发送了这个异常:

java.lang.RuntimeException: Canvas: trying to draw too large(132710400bytes) bitmap.
        at android.view.DisplayListCanvas.throwIfCannotDraw(DisplayListCanvas.java:260)
        at android.graphics.Canvas.drawBitmap(Canvas.java:1415)
        at android.graphics.drawable.BitmapDrawable.draw(BitmapDrawable.java:545)
        at android.widget.ImageView.onDraw(ImageView.java:1286)
        at android.view.View.draw(View.java:17099)
        at android.view.View.updateDisplayListIfDirty(View.java:16081)
        at android.view.View.draw(View.java:16865)
        at android.view.ViewGroup.drawChild(ViewGroup.java:3766)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3552)
        at androidx.constraintlayout.widget.ConstraintLayout.dispatchDraw(ConstraintLayout.java:2023)
        at android.view.View.updateDisplayListIfDirty(View.java:16076)
        at android.view.View.draw(View.java:16865)
        at android.view.ViewGroup.drawChild(ViewGroup.java:3766)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3552)
        at android.view.View.updateDisplayListIfDirty(View.java:16076)
        at android.view.View.draw(View.java:16865)
        at android.view.ViewGroup.drawChild(ViewGroup.java:3766)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3552)
        at android.view.View.updateDisplayListIfDirty(View.java:16076)
        at android.view.View.draw(View.java:16865)
        at android.view.ViewGroup.drawChild(ViewGroup.java:3766)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3552)
        at android.view.View.updateDisplayListIfDirty(View.java:16076)
        at android.view.View.draw(View.java:16865)
        at android.view.ViewGroup.drawChild(ViewGroup.java:3766)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3552)
        at android.view.View.updateDisplayListIfDirty(View.java:16076)
        at android.view.View.draw(View.java:16865)
        at android.view.ViewGroup.drawChild(ViewGroup.java:3766)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3552)
        at android.view.View.draw(View.java:17102)
        at com.android.internal.policy.DecorView.draw(DecorView.java:754)
        at android.view.View.updateDisplayListIfDirty(View.java:16081)
        at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:666)
        at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:672)
        at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:780)
        at android.view.ViewRootImpl.draw(ViewRootImpl.java:2840)
        at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2648)
        at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2255)
        at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1290)
        at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6399)
        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:873)
        at android.view.Choreographer.doCallbacks(Choreographer.java:685)
        at android.view.Choreographer.doFrame(Choreographer.java:621)
        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:859)
        at android.os.Handler.handleCallback(Handler.java:754)
        at android.os.Handler.dispatchMessage(Handler.java:95)
        at android.os.Looper.loop(Looper.java:165)
        at android.app.ActivityThread.main(ActivityThread.java:6375)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:912) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:802)

My Questions are:我的问题是:

What is this error and why is it device specific?这是什么错误,为什么它是特定于设备的?

Why did it occur and how to fix it?为什么会发生以及如何解决?

I had the same problem some time ago.前段时间我有同样的问题。 Reduce the size of your PNG resources or use Vectors instead if possible!尽可能减少 PNG 资源的大小或使用矢量!

You could use some online tool like this one to perform the size reduction.您可以使用像这样的一些在线工具来执行尺寸减小。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM