我正在进行游戏,我正在加载一张5120宽,116高的大图像。当我尝试使用
将其绘制到屏幕上时canvas.drawBitmap(land, 0, 0, paint);
什么都没画。但是,当我使用较小的文件(512x116)和相同的方法调用时,它会被绘制。是否有图像大小限制?我的图片是750 KB。最大画布宽度和高度也是8192.提前感谢!
编辑:
我在日志中注意到了这一点: 位图太大而无法上传到纹理中(20480x464,max = 8192x8192)
好像我的位图比实际大小大4倍。那为什么会这样?
编辑2:发现问题。 Bitmapfactory返回一个更大的文件,因为它将尺寸乘以我的屏幕密度。所以文件最终太大了。
答案 0 :(得分:0)
我没有使用Canvas布局,但尝试在Manifest中使用largeHeap =“true”