概述

一般 apk 占比最大的部分就是资源图片,所以对图片压缩可以分成有效减少 apk 的大小,有时可以减小一半以上。下面介绍几种比较好的方法。

TinyPng

  • TinyPng插件,这个插件的功能和上传到 tingPng 网站上压缩的效果是一样的,不过好处是不用受到上传次数的限制。在 AS 中搜索 TinyPng 安装就可以使用,安装成功后,从 Tools 中找到TinyPng,然后选择要压缩的图片等待完成即可。最新版的插件没有 key 次数的限制。可以参考tinyPng插件安装及使用
  • 除了安装插件外,还有另外一种方法,我个人觉得插件就够用了。这种方法是通过导入依赖实现,具体效果没有试过。这里可以参考一键解决Android项目图片压缩烦恼,为apk瘦身
  • 还有个方法效果也挺好的,没有次数限制。就是通过 uTools 这个插件,网上一搜就知道了,这个插件是给电脑用的效率工具。里面有 TinyPng 小插件,可以将图片直接拖进去,压缩后再复制出来就可以了。

    直接转换成 webp 格式

    webp 是谷歌新的图片格式,转换后会压缩很多。使用 AS 直接就可以转换,选择默认的即可,详情可以参考Android图片优化—使用webp。这里注意,.9图是不可以转换的。整体的转换按下面的情况来:

  • 小的 icon 图片大小比较小,为了高质量不会去压缩;

  • 类似引导图这种,都是全屏大小的图片,全部转换为 webp 格式;
  • 一些说明介绍性的 png 图片,如果大小超过 20kb,考虑转换为 webp 格式;
  • 对于 20kb 以下的这些图片,优先采用 TinyPng 进行压缩优化;

    综合使用

    经过测试发现,图片先经过压缩再经过转换成 webp 格式后,效果最好,不仅图片小,而且图片质量依然很好。不过测试中发现有些图片经过压缩后再转换,反而会更大或无法转换,不过是少数。相对来说综合使用效果最好。

    参考

    Android自动化批量图片压缩插件McImage
    tinyPng插件安装及使用
    Andorid资源瘦身去重丶图片压缩丶混淆插件
    Android Studio 安装TinyPng插件
    Android图片优化—使用webp
    Android apk瘦身最佳实践(五):图片压缩