OutOfMemoryError:位图大小超出虚拟机预算:

可能重复:
Android:将图像加载到Bitmap对象时出现内存不足的问题

我正在从Url下载图像并显示它们。 在下载时,它发出out of memory error : bitmap size exceeds VM budget 。 我使用drawable。 代码如下:

HttpClient httpclient= new DefaultHttpClient();
HttpResponse response=(HttpResponse)httpclient.execute(httpRequest);
HttpEntity entity= response.getEntity();
BufferedHttpEntity bufHttpEntity=new BufferedHttpEntity(entity);
InputStream instream = bufHttpEntity.getContent();

Bitmap bm = BitmapFactory.decodeStream(instream);
Bitmap useThisBitmap = Bitmap.createScaledBitmap(bm,bm.getWidth(),bm.getHeight(), true);
bm.recycle();
BitmapDrawable bt= new BitmapDrawable(useThisBitmap);
System.gc();

这是错误: 05-28 14:55:47.251: ERROR/AndroidRuntime(4188): java.lang.OutOfMemoryError: bitmap size exceeds VM budget


使用decodeStream(is, outPadding, opts)

BitmapFactory.Options opts=new BitmapFactory.Options();
opts.inDither=false;                     //Disable Dithering mode
opts.inPurgeable=true;                   //Tell to gc that whether it needs free memory, the Bitmap can be cleared
opts.inInputShareable=true;              //Which kind of reference will be used to recover the Bitmap data after being clear, when it will be used in the future
opts.inTempStorage=new byte[32 * 1024]; 

您可以检查图像大小,然后以适当的因子对其进行缩减采样。

看到这个问题:处理大的位图


这个问题似乎已经多次报道过,例如在这里和这里...对不起Shalini,但如果这是同一个问题,似乎根本没有解决方案......

罗曼盖伊唯一的建议是使用更少的内存......

所以,祝你好运以不同的方式思考你的东西...

链接地址: http://www.djcxy.com/p/93085.html

上一篇: OutOfMemoryError: bitmap size exceeds VM budget :

下一篇: Saving and Reading Bitmaps/Images from Internal memory in Android