在Android开发中,处理图片是一项常见的任务,尤其是考虑到内存管理和用户界面的流畅性。这个【android图片压缩工具类】提供了两种方法来压缩图片:质量压缩和按比例大小压缩。以下是对这两种方法的详细解释: 1. **质量压缩方法**: 质量压缩主要是通过调整图片的JPEG格式压缩率来减小图片的大小。在提供的代码中,`compressImage(Bitmap image)`方法执行了这一操作。它创建一个`ByteArrayOutputStream`对象`baos`,然后尝试以100%的质量(即无损)将Bitmap对象`image`压缩到`baos`中。接下来,它进入一个循环,检查压缩后的图片大小是否超过100KB。如果超过,就重置`baos`,降低压缩率(`options -= 10`),并再次压缩,直到图片大小满足条件。将压缩后的数据转换回Bitmap对象返回。 2. **按比例大小压缩方法**: 这种方法是基于图片的实际尺寸进行压缩,以减少内存占用。`getimage(String srcPath)`方法实现了这一功能。它首先使用`BitmapFactory.Options`对象`newOpts`以只读取边界信息的方式打开图片,获取原始图片的宽度`w`和高度`h`。然后,计算出目标尺寸,通常是为了适应设备屏幕的分辨率,例如800x480。接下来,设置`newOpts.inJustDecodeBounds`为`false`,以便真正解码图片,并根据计算的比例(例如`Math.min(w/800, h/480)`)来调整图片大小。使用`BitmapFactory.decodeFile()`方法解码图片,返回压缩后的Bitmap对象。 这两种方法各有优缺点。质量压缩可以在保持图片质量的同时尽可能减小文件大小,但可能无法严格控制图片的大小。按比例大小压缩则可以确保图片大小在预期范围内,但可能会牺牲一些质量。在实际应用中,开发者通常会结合这两种方法,以平衡图片质量和内存占用。 在处理Android应用中的图片时,需要注意以下几点: - **内存管理**:Android设备的内存资源有限,加载大尺寸图片可能导致内存溢出。因此,需要适当地压缩图片以减少内存消耗。 - **用户体验**:快速加载图片可以提升用户体验。压缩图片可以减少加载时间。 - **设备兼容性**:不同的设备可能有不同的屏幕分辨率和像素密度,需要考虑图片在不同设备上的显示效果。 - **文件存储**:对于保存到本地或上传到服务器的图片,压缩可以显著减少存储空间需求。 这个工具类提供了一种实用的方法来处理Android应用中的图片,帮助开发者在保证图片质量的同时,有效地管理和优化图片资源。在实际项目中,可以根据具体需求对这些方法进行调整和扩展。
1
主要说的是图片上传多张时先进行压缩,此时压缩超时,上报anr,针对这种情况采取了遍历图片集合单张上传,接下来会逐一介绍整体上传和单张上传的代码部分,下面两张gif图是展示单张和整体上传的效果。原文地址:https://blog.csdn.net/lou_liang/article/details/124502099?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22124502099%22%2C%22source%22%3A%22lou_liang%22%7D&ctrtid=4Rb2W
2022-05-16 14:06:52 29.15MB android
1
利用编译过的libjpeg库实现Android图片压缩的终极方案
2022-02-16 17:17:07 3.05MB libjpeg Android 图片 压缩
1
在网上调查了图片压缩的方法并实装后,大致上可以认为有两类压缩:质量压缩(不改变图片的尺寸)和尺寸压缩(相当于是像素上的压缩);质量压缩一般可用于上传大图前的处理,这样就可以节省一定的流量,毕竟现在的手机拍照都能达到3M左右了,尺寸压缩一般可用于生成缩略图。 两种方法都实装在了我的项目中,结果却发现在质量压缩的模块中,本来1.9M的图片压缩后反而变成3M多了,很是奇怪,再做了进一步调查终于知道原因了。下面这个博客说的比较清晰: android图片压缩总结 总 结来看,图片有三种存在形式:硬盘上时是file,网络传输时是stream,内存中是stream或bitmap,所谓的质量压缩,它其实只能
2021-11-17 10:07:33 92KB android开发 bitmap id
1
这又是一个功能库,实现高效率的无损图片压缩功能,作者对比了使用该库压缩和使用微信压缩的压缩比例,发现压缩效果和微信差不多!这是相当逆天的效果!有了这个库,其它的压缩库基本可以放一边了!
2021-10-09 15:08:06 120KB android 图片压缩
1
android安卓app图片压缩技术,一张将近3M的图片经过压缩后容量减小到186K,压缩效率达到16倍.zip
2021-08-22 16:31:06 2KB android 图片压缩