当Android N显示尺寸设置大于小时,“画布:尝试绘制太大的位图”



Answers

我不知道它会帮助一些人,但我会把它留在这里。 在我的情况下 - 问题仅出现在使用Android 7的Sumsung设备上,并且问题在于闪屏比例。 将高度改为1024 px后 - 一切都很好

Question

当新引入的Display size操作系统设置设置为太大时,我有一个已发布的应用程序在Android N启动时崩溃。

当我查看logcat时,我看到以下消息:

java.lang.RuntimeException: Canvas: trying to draw too large(106,975,232 bytes) bitmap.

我在第一个Activity中将问题跟踪到ImageView,它显示了一个漂亮的大背景图像。 有问题的图像是2048x1066,位于我的通用drawables目录中,因此无论密度如何,都将使用此图像。

当“ Display size设置为“ Small时,一切正常。 但是当我进入Default ,它会停止工作。 如果我然后用较小的图像交换图像,它在Default ,但如果我上升到Large ,它会再次停止工作。

我的猜测是,调整Display size会使您的设备表现得像具有更高像素密度的物理上更小的设备。 但我不明白我应该在这做什么。 如果我为逐渐提高的分辨率逐渐放入较小的图像,那么在实际大型显示器上看起来效果不佳。 或者我不明白什么?

任何指针都将非常感激。







Related