JPEG文件似乎很大:OutOfMemoryError

时间:2015-06-18 09:31:44

标签: android out-of-memory

java.lang.OutOfMemoryError: Failed to allocate a 313194252 byte allocation with 11901284 free bytes and 174MB until OOM

我在这一行得到了这个:

Bitmap bitmap = BitmapFactory.decodeResource(getResources(),R.drawable.handskizze);

我的图片在2480*3508的尺寸为300dpi. 这可能是大事吗?我怎样才能让它变小?

3 个答案:

答案 0 :(得分:2)

每当需要加载任何图像时,请始终尝试使用任何ImageLoader库。

有很多选择。

以下是开发人员使用的一些最佳库。尝试使用其中任何一个易于实现的方法。

你可以找到更多的库,但我觉得这些库最常用。

答案 1 :(得分:0)

在显示使用下面带有应用程序标记的属性

android:largeHeap="true"

也可以使用

BitmapFactory.Options o=new BitmapFactory.Options();
o.inSampleSize = 2; //change value from 0 to 8 as per need and image resolution
myBitMap=BitmapFactory.decodeResource(getResources(),R.drawable.handskizze, o);

答案 2 :(得分:0)

首先,我会说你的形象对于移动设备来说太大了。您应该使用Photoshop(或任何其他图像编辑软件)缩小它以减小其大小。通过这样做,您可以最小化.apk的大小以及缩小图像所需的处理时间。

此外,我建议您使用图像加载程序库。我在大多数项目中使用Universal Image Loader。它可以测量要加载图像的ImageView,并缩小图像尺寸以缩小图像尺寸。你应该试一试;)