创建位图时出现内存不足错误

时间:2016-02-06 05:22:12

标签: android performance out-of-memory

我的android项目中出现了内存错误,它指向了这个声明:

bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);

是否有任何其他方法可以创建ARGB_8888位图,以免我出现内存错误?

建议表示赞赏。 在此先感谢:)

1 个答案:

答案 0 :(得分:2)

Android上的位图存储异常存在许多问题,其中许多都在stackoverflow上讨论过。如果你查看现有的问题,看看你的问题是否与现有问题相匹配,那么最好是最好的,如果没有,请写出使你的情况不同的原因。

不同的位图配置将具有不同的内存占用量。 RGB_565 16位颜色格式。 ARGB_8888 32位格式。

无论您选择哪种 getHolder()。setFormat(); 配置,或者如何绘制, ARGB_8888位图都是比 RGB_565 格式的位图要大得多(在内存中)。 所以最好使用 RGB_565 格式而不是 ARGB_8888

一些例子:

Out of memory exception due to large bitmap size

Android: out of memory exception in Gallery

Android handling out of memory exception on image processing

等:https://stackoverflow.com/search?q=android+out+of+memory+exception+bitmap

有关详细信息,请访问此处。 android - out of memory exception when creating bitmap