我有一个发布的应用程序,当新引入的Display size
OS设置设置为太大的值时,在Android N上启动时崩溃。
当我查看logcat时,会看到以下消息:
java.lang.RuntimeException: Canvas: trying to draw too large(106,975,232 bytes) bitmap.
我已经在我的第一个Activity中将问题追溯到ImageView,该ImageView显示了一个不错的大背景图像。有问题的图像是2048x1066,位于我的通用drawables
目录中,因此无论密度如何,都将使用该图像。
Display size
设置为时,一切正常Small
。但是当我转到时Default
,它停止工作。然后,如果我将图像换成较小的图像,它将在处工作Default
,但如果升至Large
,它将再次停止工作。
我的猜测是,Display size
向上调整会使您的设备像具有更高像素密度的物理上较小的设备那样工作。但是我不明白我应该在这里做什么。如果我以逐渐减小的分辨率输入逐渐减小的图像,则在大尺寸显示器上看起来效果不佳。还是我不明白某事?
任何指针将不胜感激。
res/drawable/
是的同义词res/drawable-mdpi/
。如果您不想根据浓度缩放图像,请使用res/drawable-nodpi/
或res/drawable-anydpi/
。