Android压缩Bitmap

本文记录了在Android中对Bitmap进行压缩时遇到的问题及解决方案,包括根据比例压缩和固定长宽压缩两种方法。通过BitmapFactory.Options可以有效地压缩图片,避免OOM错误。同时提到,虽然Bitmap.compress()方法能调整质量,但不直接减少文件大小。ThumbnailUtils类可改变图片尺寸,但压缩后的文件大小可能仍偏大。
摘要由CSDN通过智能技术生成

这两天在做的一个app对图片进行压缩,踩了几个坑,这里记录一下。

参考文章:http://blog.csdn.net/an_illusion/article/details/51545012

百度上很多解决方案使用Bitmap.compress()方法来进行图片压缩:

OutputStream out = new FileOutputStream(file);  
bm.compress(Bitmap.CompressFormat.JPEG, 80, out);  
imageView.setImageBitmap(bm);  

第二个参数为保留图片质量(大致这么理解),原图为100,最低为0,但并不是百分比计算压缩率

然而这个方法并没有对输出的图片进行压缩,输出后的图片还是原始大小(据说图像质量会变差,变模糊,但我并没这么觉得,文件大小也没变)

根据比例压缩

后来找到使用BitmapFactory.Options来压缩图片的解决方案,有效并且避免了OOM:

// 从选取相册的Activity中返回后  

Uri imageUri = data.getData();  
String[] filePathColumns = {MediaStore.Images.Media.DATA
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值