Android加载图片防止OOM

最近研究了郭霖老师的这篇Android高效加载大图的文章,从中学到了很多,也思考了很多。特写此文章将自己的所想结合前辈的文章一起来个总结;

郭老师一共用了两篇文章来介绍android高效加载大图,我在学习了两篇文章之后,将两篇文章结合在了一起,写了一个能自定义压缩图片的高效加载大图多图的Demo,

在参照前辈文章编写的时候,遇到一个关键的技术总结点:

```

publicstaticBitmapdecodeSampledBitmapFromResource(InputStreamis,intreqWidth,intreqHeight)

{

// 第一次解析将inJustDecodeBounds设置为true,来获取图片大小

finalBitmapFactory.Optionsoptions=newBitmapFactory.Options();

//inJustDecodeBounds设置为true,将不返回实际的bitmap不给其分配内存空间而里面只包括一些解码边界信息即图片大小信息

options.inJustDecodeBounds=true;

BitmapFactory.decodeStream(is,null,options);

// 调用上面定义的方法计算inSampleSize值

options.inSampleSize=calculateInSampleSize(options,reqWidth,reqHeight);

// 使用获取到的inSampleSize值再次解析图片

options.inJustDecodeBounds=false;

returnBitmapFactory.decodeStream(is,null,options);

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容