Android使用.webp替换.jpeg与.png格式图片减少图片大小

Posted Tobey_r1

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android使用.webp替换.jpeg与.png格式图片减少图片大小相关的知识,希望对你有一定的参考价值。

android使用.webp替换.jpeg与.png格式图片减少图片大小

关于

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

  之前就知道了webp,但是一直没去关注,然后最近写项目的时候加入了一个登录界面的背景图,好家伙385kb,要是多来几张这样的背景图,apk体积直接拉满了,使用webp不仅图片大小锐减许多,而且也不失真,下面实际操作一下(WebP的兼容性:4.2.1+ 对于webp的decode、encode是完全支持的(包含半透明的webp图)对于4.0+ 到 4.2.1 ,只支持完全不透明的decode、encode的webp图,4.0 以下,应该是默认不支持webp的(编码解码))。本篇也作为简易音乐系列文章之一。

使用android studio

  在android studio3.5以上就已经可以通过右键图片选择Convert to WebP选项了:
在这里插入图片描述
  这里我们修改一个登录界面的背景图:
在这里插入图片描述
  上面分为有损和无损转换,因为无损转换要求minSdk 为18,所以这里默认有损 75%,你也可以选择100%,都差不多(多色图片),纯色单一图片建议100%,android studio也是默认这样,不然无法进行下一步,点击ok:

在这里插入图片描述
  我们可以看到两边图片几乎一样,而且图片大小由386kb变成了53kb,实际运行效果也很完美:

在这里插入图片描述
  之前没有注意到这个小优化的地方的伙伴们也赶紧去尝试一下吧,apk体积锐减一半,要注意适用的范围啊当然。这里说明一下:我试过了,布局里面的图片带有透明背景的,在minsdk 16下不可转换,18下可以,如下图:
在这里插入图片描述
  我将项目minSdkVersion 改为18,转换就出现了步骤:

在这里插入图片描述
  选择无损是不会出现这一步的,会立马转换成功。
  有问题欢迎批评指正,觉得不错的也可以点个赞奥

以上是关于Android使用.webp替换.jpeg与.png格式图片减少图片大小的主要内容,如果未能解决你的问题,请参考以下文章

WebP与PNG, JPEG的转换

ffmpeg 制作webp动图

WebP图片格式介绍和转换

jpg.webp是啥格式

使用 PHP GD 库将 webp 转换为 jpeg

WebP是什么