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