概述

WebP(发音 weppy),是一种支持有损压缩和无损压缩的图片文件格式,派生自图像编码格式 VP8。根据 Google 的测试,无损压缩后的 WebP 比 PNG 文件少了 45% 的文件大小,即使这些 PNG 文件经过其他压缩工具压缩之后,WebP 还是可以减少 28% 的文件大小。

Webp的优点

  • 减少文件的大小(这个优势觉得足够用了)
  • 但达到和JPEG格式相同的图片质量

将PNG转换WebP的效果

将三种图片同时在手机上显示查看效果,图片类型如下:

  1. 原图
  2. 原图无损压缩(58%)
  3. 原图转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 图片优化相关推荐

  1. Android App包瘦身优化

    Android App包瘦身优化 APK瘦身是对程序体验的优化,更大的APK需要占用更多的存储空间. APK的构成 APK瘦身前通过Analyze app分析出来的图片(打开方式:Android St ...

  2. 我的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 ...

  3. Android App包瘦身优化实践

    随着业务的快速迭代增长,美团App里不断引入新的业务逻辑代码.图片资源和第三方SDK,直接导致APK体积不断增长.包体积增长带来的问题越来越多,如CDN流量费用增加.用户安装成功率降低,甚至可能会影响 ...

  4. Android APP终极瘦身指南

    前言 之前写了一篇<APK瘦身实践>侧重于实践和效果对比,后来受徐川老师点拨,建议改写成一篇更全面的瘦身终极杀招大全,深以为然,思考良久,新开一篇. 指南条例 第1条:使用一套资源 这是最 ...

  5. 老司机谈APK瘦身套路-项目优化篇

    老司机谈APK瘦身套路-项目优化篇 在上一篇文章中,老司机带领大家一起学习了图片资源的瘦身套路,收到了很多中学生读者的好评. 想了解的童鞋请点击:blog.csdn.net/mynameishua-  ...

  6. iOS开发:Archive、ipa 和 App 包瘦身

    作者 | 钱凯 杏仁移动开发工程师,前嵌入式工程师,关注大前端技术新潮流. iOS 开发的最后一步就是进行 App 的打包和分发,这里分为两个步骤: Archive:对Target进行编译.归档,生成 ...

  7. unity3d android包太大了,unity/unity3d编译成android apk包瘦身方法

     unity/unity3d编译成android apk包瘦身方法 本文系原创,请转发的朋友带上我的链接. 相信用unity开发的同学都会遇到类似的经历:明明资源图片不大,但是发现打包后apk文件 ...

  8. App极致瘦身: png 打包前自动化转换 webp。身轻如燕就是爽!

    前言 大家都知道 png 是比较占用App体积的,有没有工具可以在打包前(比如 assembleDebug.assembleRelease)自动去转化所有的 png 图片,包括第三方依赖库里面的呢?之 ...

  9. App瘦身、性能优化总结

    App瘦身 资源瘦身 使用tinypng压缩PNG图片.视频可以通过 Final cut等软件进行分辨率压缩.音频则降低码率即可. 非必须资源文件可以放到自己服务器上 启动图使用 LaunchScre ...

  10. 「Android」 APK瘦身探索

    本文来自尚妆Android团队青峰 发表于尚妆博客 APK瘦身探索 最近几周一直在研究如何为APK瘦身,折腾了很久,是时候写篇博客总结一下了,虽然已经准备了下周一要在客户端周会分享用的PPT:APK瘦 ...

最新文章

  1. display:inline、block、inline-block
  2. UE4 + UnLua + VSCode + LuaPanda调试
  3. 利用SCVMM 2012 R2来管理Azure虚拟机
  4. uploadify插件的使用
  5. iOS开发Objective-C基础之──多态
  6. Python(14)-模块
  7. LeetCode 643. 子数组最大平均数 I
  8. php实现把es6转为es5,使用webpack将ES6转化ES5的实现方法
  9. 腾讯“抢”小米黑鲨做元宇宙?
  10. 如何处理“转换数据类型错误”错误?
  11. activity和service之间的相互通信方法
  12. 阿里云的yum源配置
  13. android渠道首发规则,酷传推广手册Android渠道首发规则.doc
  14. 01背包问题——大背包:
  15. WIN7用键盘控制鼠标
  16. TCP/IP传输层协议实现 - TCP接收窗口/发送窗口/通告窗口(lwip)
  17. unsw计算机科学的挂科率,可怕!澳洲大学 2018 期末近 300 人挂科!各大学挂科率曝光...
  18. 【Zookeeper】查看注册信息命令
  19. 有关圆排列问题——m个相同的元素和n个不同的元素的圆排列解法。
  20. 使用cookie实现简易的登录计时

热门文章

  1. 《基于卷积神经网络(CNN)的网络流量分类》优秀本科毕设实验总结
  2. 用循环写出九九乘法表格。
  3. 通过Python实现九九乘法表
  4. cdr多页面排版_cdr排版实例图文教程,教你CorelDRAW杂志内页排版方法
  5. HTML5制作诗歌锦集,轻叩诗歌的大门作文锦集6篇
  6. 百度搜索引擎算法大全
  7. 2022年数字IC设计提前批笔试面试全流程分享(前期海投,后期顺利拿到Offer)
  8. java黄金分割点游戏_黄金点游戏(单机版)
  9. A pretty carpet
  10. HTML+CSS美食静态网页设计——简单我的家乡吉林