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.
这可能是大事吗?我怎样才能让它变小?
答案 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,并缩小图像尺寸以缩小图像尺寸。你应该试一试;)