使用pngquant来缩小你的APK

1 pngquant

pngquant是国外的一个有损的PNG压缩开源库,提供了命令行形式和源码库形式。

  • 通过这个库的转化可以显著减少png文件大小(通常减少70%),并且保持原有透明度通道
  • 生成的图片文件可以兼容所有现代web浏览器,在IE6下比24-bit PNGs也有更好的表现。

2 特性

  • 结合vector quantization算法生成高质量的色彩范围
  • 独特的自适应抖动算法,比标准的FloydSteinberg算法具有更强的抗噪性
  • 易与集成,提供了shell脚本,图形化界面,服务端库,PS插件
  • 具有快速模式,用于处理大批图片

《使用pngquant来缩小你的APK》 原图**75,628**字节
《使用pngquant来缩小你的APK》 pngquant处理后的图片,**19,996** 字节 (压缩了**73%**)

3 使用

为方便在mac下批量调用,我参考johnellmore/Optimize-Images项目,写了一小段shell脚本,方便mac用户使用pngquant:PNGCompressForMac

使用方法如下:

sh PNGCompress PATH/TO/YOUR/RES

4 Android下的使用:压缩res资源

测试了下对项目里Android res文件夹的压缩情况,结果如下:

《使用pngquant来缩小你的APK》 执行默认的压缩
《使用pngquant来缩小你的APK》 执行结束
《使用pngquant来缩小你的APK》 前后对比,29.8MB vs 19.6MB

由于Android里的资源很多是icon,色域范围较大的背景图比较少,每张图片的压缩率没有宣称的这么高,但是最后结果还是比较感人的,从29.8M降到了19.6M。

5 对比tinypng

tinypng是商用的PNG压缩工具,具有在线压缩、在线api、ps插件等方式。

  • 在线api需要申请api-key,并且对调用次数有限制,可以免费调用500次
  • ps插件在win下有破解版的,但咱视觉用的mac版ps,且破解版不适合商用
  • 压缩率较高

默认参数下,tinypngpngquant压缩率对比

图片原图大小tinypngtinypng压缩率pngquantpngquant压缩率
png1212KB69KB67.45%111KB47.64%
png256KB23KB58.93%30KB46.43%
png3549KB217KB60.47%251KB54.28%
png494KB34KB63.83%54KB42.55%
png5138KB46KB66.67%63KB54.35%
png6118KB45KB61.86%68KB42.37%
average63.20%47.94%

6 Reference

    原文作者:我是Asha
    原文地址: https://www.jianshu.com/p/a721fbaa62ab
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞