我想在android上加载图片
background = BitmapFactory.decodeResource(getResources(),R.drawable.hangmanbegin);
background = Bitmap.createScaledBitmap(background,screenx,screeny,false);
图像是800 * 1280像素,所以如果我是正确的,它应该使用5MB的内存空间? 但是我的堆只是在那个阶段从15MB增长到29MB,所以没有窗口或上下文泄漏?
这是如何解释的?你能做些什么呢?
提前Thnx!答案 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