首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > Ruby Rails >

解决java.lang.OutOfMemoryError: bitmap size exceeds VM 模式

2012-07-16 
解决java.lang.OutOfMemoryError: bitmap size exceeds VM 方式当图片过大,或图片数量较多时使用BitmapFac

解决java.lang.OutOfMemoryError: bitmap size exceeds VM 方式

当图片过大,或图片数量较多时使用BitmapFactory解码图片会出java.lang.OutOfMemoryError: bitmap size exceeds VM budget,要想正常使用则需分配更少的内存,具体的解决办法是修改采样值BitmapFactory.Options.inSampleSize,例如:

BitmapFactory.Options opts = new BitmapFactory.Options();opts.inJustDecodeBounds = true;BitmapFactory.decodeFile(imageFile, opts);opts.inSampleSize = computeSampleSize(opts, -1, 128*128);opts.inJustDecodeBounds = false;try {Bitmap bmp = BitmapFactory.decodeFile(imageFile, opts);imageView.setImageBitmap(bmp); } catch (OutOfMemoryError err) {}
另外,可以通过Bitmap.recycle()方法来释放位图所占的空间,当然前提是位图没有被使用

热点排行