最佳答案
我有一个已发布的应用程序,是崩溃在启动 Android N 时,新引入的 Display size
操作系统设置为太大的值。
当我查看 logcat 时,我看到以下信息:
java.lang.RuntimeException: Canvas: trying to draw too large(106,975,232 bytes) bitmap.
我在我的第一个活动中追踪到一个 ImageView,它显示了一个漂亮的大背景图像。问题中的图像是2048x1066,位于我的通用 drawables
目录中,因此无论密度如何,都将使用这个图像。
当 Display size
设置为 Small
时,一切正常。但是当我升到 Default
的时候,它就停止工作了。如果我然后交换出一个较小的图像,它在 Default
工作,但如果我去到 Large
,它停止工作了。
我的猜测是,调整 Display size
使您的设备表现得像一个物理上更小的设备,具有更高的像素密度。但我不知道我该怎么做。如果我为了更高的分辨率而逐渐放入更小的图像,那么在实际的大屏幕上看起来就不会那么好了。还是我不明白什么?
如有任何建议,我将不胜感激。