Android APP极限瘦身—— WebP 图片优化
概述
WebP(发音 weppy),是一种支持有损压缩和无损压缩的图片文件格式,派生自图像编码格式 VP8。根据 Google 的测试,无损压缩后的 WebP 比 PNG 文件少了 45% 的文件大小,即使这些 PNG 文件经过其他压缩工具压缩之后,WebP 还是可以减少 28% 的文件大小。
Webp的优点
- 减少文件的大小(这个优势觉得足够用了)
- 但达到和JPEG格式相同的图片质量
将PNG转换WebP的效果
将三种图片同时在手机上显示查看效果,图片类型如下:
- 原图
- 原图无损压缩(58%)
- 原图转WebP(有损压缩75%)
从上图可以看出三种图片从肉眼看是无差别的
PNG转WebP是可以控制有损压缩比例的,上图有损压缩75%,肉眼查看无差别,那其他的压缩比例呢?
接下来我们继续做实验查看:
三张图片进行对比
第一张为原图、第二张为使用tinypng在线压缩过的图片、第三张为WebP不同压缩比例的图片
- 无损压缩转换
- 有损压缩(75%)转换
- 无损压缩(50%)转换
- 无损压缩(0%)转换
通过图片效果对比和上表数据分析,WebP的有损压缩75%是图片肉眼看是无差别的,文件体积减少也是较大的,是官方推荐方案
Demo测试
在android项目中,对webp图片的使用和jpg没有任何不同,因此只需将项目中的图片替换成对应的webp格式的图片,完全不用修改代码就能实现图片及apk的压缩。(需要注意 minSdkVersion 17)
接下来会对不同品质压缩的webp图片与原图作对比,查看效果:
1.首先是无损压缩
可以看到图片的大小直接减少了一半,运行到手机中看下效果。
从肉眼上基本看不出区别,webp无损压缩可以减少图片一半的大小而达到同样无损的效果。
2.有损75%压缩的webp
压缩后的图片大小为原图的44%,同样地,我们看下手机中的效果
对比画质,粗看的话看不出区别,细看的话还是能看出线条稍微优点模糊。
3.有损30品质的webp
压缩后的图片大小仅有原图的22%
个人感觉和75%的压缩没啥区别。。。。。
4.最低品质压缩
压缩后的图片大小仅有原图的20%
这下很明显了,一眼就能看出压缩过,但对于一些小的图片,可以采用最低品质的压缩,能极大地减小图片的大小。
以上就是Android WebP 图片优化的效果展示;Android应用开发中APP的深度优化是很有必要的,不管是在面试还是在大厂中。优化这一块技术始终是长用到的。所以Android优化学好是进阶技术的重要部分;如需学习Android性能优化这块技术的可以私信手册↓↓↓获取,资料来自于腾讯高级Android开发。【搜集整理】
总结
APP的功能越来越多,APP的体积也随之增长。这会给用户的升级带来困扰,影响用户体验,因此app的瘦身就显得尤其重要了。app瘦身的方法有很多,随便一搜便能找到很多方案,例如开启混淆,开启shrinkResources,去除大型的第三方库等等。都是简单易于操作,并且效果明显的。除此之外,图片资源在apk中也是占据非常大的部分的,目前google官方都推荐的方法是使用webp代替jpg、png等图片。
Android APP极限瘦身—— WebP 图片优化相关推荐
- Android App包瘦身优化
Android App包瘦身优化 APK瘦身是对程序体验的优化,更大的APK需要占用更多的存储空间. APK的构成 APK瘦身前通过Analyze app分析出来的图片(打开方式:Android St ...
- 我的Android进阶之旅------gt;Android APP终极瘦身指南
首先声明,下面文字转载于: APK瘦身实践 http://www.jayfeng.com/2015/12/29/APK%E7%98%A6%E8%BA%AB%E5%AE%9E%E8%B7%B5/ APP ...
- Android App包瘦身优化实践
随着业务的快速迭代增长,美团App里不断引入新的业务逻辑代码.图片资源和第三方SDK,直接导致APK体积不断增长.包体积增长带来的问题越来越多,如CDN流量费用增加.用户安装成功率降低,甚至可能会影响 ...
- Android APP终极瘦身指南
前言 之前写了一篇<APK瘦身实践>侧重于实践和效果对比,后来受徐川老师点拨,建议改写成一篇更全面的瘦身终极杀招大全,深以为然,思考良久,新开一篇. 指南条例 第1条:使用一套资源 这是最 ...
- 老司机谈APK瘦身套路-项目优化篇
老司机谈APK瘦身套路-项目优化篇 在上一篇文章中,老司机带领大家一起学习了图片资源的瘦身套路,收到了很多中学生读者的好评. 想了解的童鞋请点击:blog.csdn.net/mynameishua- ...
- iOS开发:Archive、ipa 和 App 包瘦身
作者 | 钱凯 杏仁移动开发工程师,前嵌入式工程师,关注大前端技术新潮流. iOS 开发的最后一步就是进行 App 的打包和分发,这里分为两个步骤: Archive:对Target进行编译.归档,生成 ...
- unity3d android包太大了,unity/unity3d编译成android apk包瘦身方法
unity/unity3d编译成android apk包瘦身方法 本文系原创,请转发的朋友带上我的链接. 相信用unity开发的同学都会遇到类似的经历:明明资源图片不大,但是发现打包后apk文件 ...
- App极致瘦身: png 打包前自动化转换 webp。身轻如燕就是爽!
前言 大家都知道 png 是比较占用App体积的,有没有工具可以在打包前(比如 assembleDebug.assembleRelease)自动去转化所有的 png 图片,包括第三方依赖库里面的呢?之 ...
- App瘦身、性能优化总结
App瘦身 资源瘦身 使用tinypng压缩PNG图片.视频可以通过 Final cut等软件进行分辨率压缩.音频则降低码率即可. 非必须资源文件可以放到自己服务器上 启动图使用 LaunchScre ...
- 「Android」 APK瘦身探索
本文来自尚妆Android团队青峰 发表于尚妆博客 APK瘦身探索 最近几周一直在研究如何为APK瘦身,折腾了很久,是时候写篇博客总结一下了,虽然已经准备了下周一要在客户端周会分享用的PPT:APK瘦 ...
最新文章
- display:inline、block、inline-block
- UE4 + UnLua + VSCode + LuaPanda调试
- 利用SCVMM 2012 R2来管理Azure虚拟机
- uploadify插件的使用
- iOS开发Objective-C基础之──多态
- Python(14)-模块
- LeetCode 643. 子数组最大平均数 I
- php实现把es6转为es5,使用webpack将ES6转化ES5的实现方法
- 腾讯“抢”小米黑鲨做元宇宙?
- 如何处理“转换数据类型错误”错误?
- activity和service之间的相互通信方法
- 阿里云的yum源配置
- android渠道首发规则,酷传推广手册Android渠道首发规则.doc
- 01背包问题——大背包:
- WIN7用键盘控制鼠标
- TCP/IP传输层协议实现 - TCP接收窗口/发送窗口/通告窗口(lwip)
- unsw计算机科学的挂科率,可怕!澳洲大学 2018 期末近 300 人挂科!各大学挂科率曝光...
- 【Zookeeper】查看注册信息命令
- 有关圆排列问题——m个相同的元素和n个不同的元素的圆排列解法。
- 使用cookie实现简易的登录计时