读书人

(java.lang.OutOfMemoryError: bitmap

发布时间: 2012-08-10 12:19:33 作者: rapoo

(java.lang.OutOfMemoryError: bitmap size exceeds VM budget解决)android中将网络图片转化为缩略图
[转]java.lang.OutOfMemoryError: bitmap size exceeds VM budget解决方法

最近在做电信的一个视频地图项目时,需要获取网络图片预览,用到图片缩略图技术,通过参考了很多同行的方法,本人写了以下获取网络图片缩略图的代码,如有不妥,望高手指正,谢谢。以下是实现方法:

?

?

获取缩略图关键代码

?

?

byte[] imageByte=getImageFromURL(urlPath[i].trim());

//以下是把图片转化为缩略图再加载

BitmapFactory.Options options = new BitmapFactory.Options();?

options.inJustDecodeBounds = true; ? ? ?//首先设置.inJustDecodeBounds为true

Bitmap bitmap=BitmapFactory.decodeByteArray(imageByte, 0, imageByte.length, options); ? ?//这时获取到的bitmap是null的,尚未调用系统内存资源

options.inJustDecodeBounds = false; ? ? ? ?得到图片有宽和高的options对象后,设置.inJustDecodeBounds为false。

int be = (int)(options.outHeight / (float)200);?

?? ? ? ?if (be <= 0) ? be = 1;?

?? ? ? ?options.inSampleSize = be; ? ? ? ? ?//计算得到图片缩小倍数

bitmaps[i]=BitmapFactory.decodeByteArray(imageByte, 0, imageByte.length,options); ? ? ? ? ? ? ? ? ? ? ? ? ?//获取真正的图片对象(缩略图)

?

?

?

?

?

?

以下是批量获取网络图片缩略图的详细代码:

?

?

    我也是 Bitmap myBitmap = BitmapFactory.decodeFile(path);

读书人网 >Ruby Rails

热点推荐