引起:java.lang.OutOfMemoryError:无法分配35624972字节分配4194304空闲字节和28MB直到OOM

时间:2016-04-26 15:52:34

标签: android

这是我的代码:

BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
BitmapFactory.decodeResource(getResources(), R.drawable.background, options);
options.inSampleSize = 2;
options.inJustDecodeBounds = false;
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.background, options);
imageView.setImageBitmap(bitmap);  

从代码中可以看出,我尝试优化位图,除了在Android Studio 2.0虚拟设备(nexus 6p API23)之外,它适用于所有情况,任何人都可以给我一个提示吗?谢谢。

2 个答案:

答案 0 :(得分:2)

感谢@CommonsWare和@petey,Loading Large Bitmaps Efficiently适合我。

答案 1 :(得分:0)

这会提醒您,在某些设备中,您可能会遇到内存问题。尝试调整图像大小以减小其大小。你也可以在清单中设置一个更大的内存堆知道android:largeHeap =“true”,但我不建议这样做。