Out of Memory Bitmap Android

时间:2014-10-13 13:23:15

标签: android bitmap

我使用了Volley库,我收到了这个错误。我用ListView来显示。如果我不向下滚动列表视图,应用程序不会停止。

我已经在stackoverflow中读到了几乎所有关于“OOM”的线程。我没有发现任何有用的东西。我的应用程序获取json字符串,它是来自web的base 64编码图像。我将字符串解码为字节数组,并通过bitmapfactory进行解码。我显示位图。

1 个答案:

答案 0 :(得分:0)

如果要在一个活动中显示多个位图,则应仅显示这些位图的缩略图,以避免出现内存不足错误。你可以这样做:

 Bitmap getThumbnailFromBitmap(bitmap) {
     int width = bitmap.getWidth();
     int height = bitmap.getHeight();
     int max = Math.max(width, height);
     if (max>512) {
            int thumbWidth = Math.round((512f/max)* width);
            int thumbHeight = Math.round((512f/max)* height);
            Bitmap thumbnail = ThumbnailUtils.extractThumbnail(bitmap, thumbWidth , thumbHeight);
            bitamp.recycle();
            return thumbnail ;
     } else {
            return bitmap ;
     }

}