加载图像时出现内存不足错误

时间:2012-05-03 18:03:20

标签: java android out-of-memory

我想在android上加载图片

background = BitmapFactory.decodeResource(getResources(),R.drawable.hangmanbegin);    
background =  Bitmap.createScaledBitmap(background,screenx,screeny,false);

图像是800 * 1280像素,所以如果我是正确的,它应该使用5MB的内存空间? 但是我的堆只是在那个阶段从15MB增长到29MB,所以没有窗口或上下文泄漏?

这是如何解释的?你能做些什么呢?

提前Thnx!

1 个答案:

答案 0 :(得分:3)

  

Bitmaps会占用大量内存,特别是对于像这样的丰富图像   照片。例如,Galaxy Nexus上的相机拍照   高达2592x1936像素(5百万像素)。如果是位图配置   使用的是ARGB_8888(默认来自Android 2.3以后)   将此图像加载到内存大约需要19MB内存(2592 * 1936 * 4   字节),立即耗尽某些设备上的每应用限制。

来自http://developer.android.com/training/displaying-bitmaps/index.html

信用并在其下面一种方法来解决问题https://stackoverflow.com/a/10127787/643500