2

我想在android上加载图像

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

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

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

提前谢谢!

4

1 回答 1

3

位图占用大量内存,尤其是对于照片等丰富的图像。例如,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

于 2012-05-03T18:10:32.290 回答