移动互联培训

您当前的位置:移动互联培训 > Android开发 >

如何使用WebP格式来减少图片的体积

来源:移动互联培训 2017-02-09

在Android开发中,常用的的图片格式无非是JPEG、PNG等传统格式,由于诞生时间久,基本上这些图片的压缩算法已经压缩到了极致,那么要对图片经过再次压缩升级该怎么办?

本文引用地址://mi.hqyj.com/Android/561.html

在2013 Google I/O Event上,Google给开发者一种新的选择WebP。相对于JPEG这种公认的高性能压缩,WebP达到同样的图像质量官方给的数据大概是相当于JPEG的2/3。要知道,在实际的开发中,一个安装包的很大一步体积分都是图片资源,因此这节省出来的1/3的重要性不言而喻。

据我所知,率先使用此技术的软件是手机QQ,众所周知QQ原创表情是使用图片来完成的,当初腾讯的一位负责相关领域的员工正是为了减少流量消耗,才将无意中接触的这WebP格式应用其中。

时至今日,腾讯是大力推崇此格式的厂商,很多产品中使用了WebP,例如腾讯新闻、腾讯网、QQ空间等。当然,淘宝、美团等厂商也早已将此格式应用于自家产品。

那么是时候该让我们自己的产品也搭载WebP了!

由于是谷歌推崇的图片格式,因此在开发中可以完美支持Android和Chrome等,当然其他环境下读者也可以去试一试,据说iOS也可以使用。

与JPEG一样,WebP也是一种有损压缩,唯一的缺点在于其压缩算法比较耗时,编码时间能达到JPEG格式的8倍,然而这瑕不掩瑜,下面我们就来探究一下这个格式。

能转换WebP格式的方法很多,读者可以自行查阅,我个人使用的软件为iSparta,以下为其下载的网址://isparta.github.io/

下面针对一组图片,分别查看各种压缩算法下图片的大小:

可以看到WebP格式确实是一种性价比很高的格式。

后来看一下其在Android下的兼容性,首先Android 4.0以下需要其兼容库,网址:

https://github.com/alexey-pelykh/webp-android-backport

Android4.0以上可以正常使用,下面在程序中来测试:

以下为测试图,写一个测试程序,用ImageView来显示此png图片。

可以看到,生成的apk大小为1819kb 

运行效果如下所示:

下面将图片格式更改为WepB(有损):

同样,运行程序。

验证完成,可以apk的体积减少了几百k,这对于程序而言是十分友好的。

另外WepB格式同样支持动图,效率比gif同样高,由于Android中一般不使用动图,因此本文就不进行探讨了,有兴趣的读者可以自行实验。

查看apk大小。

400-611-6270

Copyright ©2004-2018 华清远见教育科技集团 版权所有
京ICP备16055225号,京公海网安备11010802025203号