Android BitmapLimit:超过位图大小限制

时间:2018-03-08 08:07:18

标签: android bitmap imageview

我使用setImageResource()将背景图像设置为ImageView。

我的设备分辨率为1920x2246 480dpi,因此我找到的图像的分辨率与设备相同。但我得到了这个警告:

  

BitmapLimit:超过位图大小限制:android.graphics.Bitmap@6aad1ab,w   = 1080,h = 2246,大小= 9702752

然后我将此图像裁剪为1920x923,但我仍然收到此警告

  

BitmapLimit:超过位图大小限制:android.graphics.Bitmap@6aad1ab,w   = 923,h = 1920,大小= 7088672

我无法谷歌有关此警告的任何信息。

我的图片放在drawable / xxhdip上,我使用android studio插件" Android Drawable Import"导入和裁剪hdip,mdip和xhdip自动。

如果有人能给我一些建议,我将不胜感激!

1 个答案:

答案 0 :(得分:1)

我认为它的图像尺寸不是高度和宽度。 您可以压缩此图像以解决此问题

Bitmap original = BitmapFactory.decodeStream(getAssets().open("1024x768.jpg"));
ByteArrayOutputStream out = new ByteArrayOutputStream();
original.compress(Bitmap.CompressFormat.PNG, 100, out);
Bitmap decoded = BitmapFactory.decodeStream(new ByteArrayInputStream(out.toByteArray()));

Log.e("Original   dimensions", original.getWidth()+" "+original.getHeight());
Log.e("Compressed dimensions", decoded.getWidth()+" "+decoded.getHeight());

希望这有帮助