Android瘦身之WebP,8M缩减至3M

前言

打包上线时,寻思着app体积不太正常。几乎未引用大型库的情况下,混淆去除资源后app体积接近8兆。这明显不太对劲。减少Apk的体积有利于用户下载的速度,提高转化率。刚好有一天任务比较少,研究下如何减少app的体积。Android Studio自带Apk包分析器。我们把Apk包拖拽到编译器里。看看是哪部分占用体积。
ps:这里只分析图片方向,其他途径可以查看我的另外一篇博客。

先说明下成果:8M缩减到了3.3M

可以看到大小体积的统计信息

res资源文件占比最大,多达71%。如果能够压缩这部分体积就能够大大减少我们app的体积。首先想到的就是对图片直接处理压缩,这里推荐个好用的App,ImageOptim。

使用非常简单,只需要把需要压缩的图片直接拖进去即可。

压缩全部的app资源后,发现体积减少的不是很明显,大约只减少了1兆左右。由于这是我很久之前对项目就处理过了,所以这里无法上对比图(上面的Apk体积也是对图片处理后的体积大小)。

这条路效果不是非常的明显,我只能寻找其他途径。

到这里,文章的主人公该出现了,没错就是WebP。

什么是WebP

WebP(发音weppy)[6][7],是一种同时提供了有损压缩与无损压缩(可逆压缩)的图片文件格式[8],派生自视频编码格式VP8[9],被认为是WebM多媒体格式的姊妹项目,是由Google在购买On2 Technologies后发展出来[10],以BSD授权条款发布。[11]
WebP最初在2010年发布,目标是减少文件大小,但达...

上面摘抄自维基百科,有兴趣的同学可以直接访问查看传送门

谷歌在2010年推出的一种新的图片格式。目前谷歌自家产品和国内外大公司很多已经采用了这项技术,下面是Google Play上的应用图片

可以看出,下载下来的图片是webp格式的。如果你想要复现,请使用Safari以外的浏览器(因为他不支持?)

Android对WebP的支持

作为谷歌亲生系列的Android,对WebP的支持自不必说。Android 4.0(API级别14)及更高版本支持有损WebP图像,Android 4.3(API级别18)及更高版本支持无损和透明的WebP图像。考虑目前市场4.3以下的手机占比已经非常稀少,采用webp格式代替jpg、png的方案非常可行。

png,jpg等格式转webP工具

谷歌力推webP,自然会提供各平台的解码转换工具,工具地址:https://developers.google.com/speed/webp/(需要翻墙奥)

也有很多在线转换工具站,自己可以去搜索引擎找下,这里就不放地址了。

Android Studio自带方便的查看及转换工具,果然是亲生的?。

右键需要转换的文件,可多选。选择convert to WebP。

默认75%压缩比。这么也说明了,API在18及以上才支持透明。选择OK

显示原图、区别及转换后的图片(没错,就是楼主拍的,兼职摄影师?)转换后只有原有体积的15%,从3.3M缩减到500K。效果已经不能用显著来形容了?

上对比图


原图


对比图

睁大眼睛,反正我是看不出有啥区别了(若图片加载不出来请换个浏览器),设计师的像素写轮眼不知道能不能看出来?

压缩前后对比

由原来的5.2M减少到1.4M,是不是很惊叹。

总结

使用WebP会极大的减少图片的体积,在图片较多的app中,对体积的压缩效果极大。WebP是对图片有损的压缩,所以清晰度上会有些许影响。不过对于观感上几乎感受不到影响。总的来说利大于弊。还是推荐使用。

Android、iOS上都支持较好。大家可以放心的转换。上面也有提到,Safari不支持,所以前端使用上还得考虑考虑,大厂们解决办法是用两套?。

原文地址:http://jokehanj.com/index.php/2018/04/14/q_t_webp_z_android_z_y_y/


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值