Bitmap高效压缩及LruCache缓存使用

本文介绍了Android中Bitmap的基本概念和压缩方法,利用BitmapFactory.Options进行图片压缩,关注inJustDecodeBounds、inPreferredConfig和inSampleSize属性。同时,探讨了缓存策略,包括LruCache作为内存缓存的使用,如何根据系统内存动态调整缓存大小,以及如何在图片加载流程中结合LruCache提升显示效率。
摘要由CSDN通过智能技术生成
图片压缩
1.基本概念用法

Bitmap是安卓最主要图像处理类,通过Bitmap可以获得图片相关信息,进行裁剪、缩放等操作。

安卓的BitmapFactory工厂类提供了常用的生成Bitmap方式,如下

BitmapFactory.decodeByteArray(); //通过二进制流解析
BitmapFactory.decodeFile();//通过文件路径解析
BitmapFactory.decodeResource();//通过资源文件解析
BitmapFactory.decodeStream();//通过流解析
2.压缩方式

Bitmap在加载到虚拟机的过程中,如果源资源过大,多张加载时会造成内存溢出,因此对照片的处理压缩非常重要。

BitmapFactory.Options 此类用于解码Bitmap时的各种参数控制。

inJustDecodeBounds 该属性设置为true,解析的时候不会返回bitmap,只会返回bitmap的尺寸,通过这个属性获取原始bitmap的宽高。

inPreferredConfig 该属性设置色彩模式。ALPHA_8 代表8位Alpha位图,ARGB_4444 代表16位ARGB位图,ARGB_8888 代表32位ARGB位图,RGB_565 代表16位RGB位图。RGB_565这个模式一个像素只占用2个byte,推荐使用。

inSampleSize 该属性为压缩比例,数值越大压缩比例越大,该值不能小于1。

public static Bitmap compress(byte[] bytes,int targetW,int targetH){
    BitmapFactory.Options op
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值