类比于微信,如何对Apk进行极限压缩,谈下Android压缩8大步

一、简介

随着项目的不断迭代,代码量跟资源文件不断增多。那么就会出现打包后的 APK 文件越来越大,如果突然有一天你们老板或领导叫你优化 APK 大小,你还不知道怎么优化那就有点说不过去了,这篇文章咱们就来一起分析并优化 APK 体积大小吧。

分析 APK 资源占用

二、注意:

我是在 GitHub 找了一个人气比较高的开源项目,需要的话自己可以点击下载,自己动手尝试一番.

 

分析工具直接用的 AS Build/Analyze APK

从上面图中得出 assets > classes.dex > res > lib 其中资源文件占用最大。

下面我们就来看看怎么减小 APK 大小吧,

三、优化 APK 体积八大步

1. 将图片转换为 webp 格式

Webp 概念

WebP 是一种同时提供了有损压缩与无损压缩的图片文件格式,派生自视频编码格式 VP8。WebP 最初在2010年发布,目标是减少文件大小,但达到 和 JEPG 格式相同的图片质量,希望能够减少图片档在网络上的发送时间。2011年11月8日,Google 开始让 WebP 支持无损压缩和透明色的功能。

根据 Google 较早的测试,WebP 的无损压缩比网络上找到的 PNG 档少了 45% 的文件大小,即使这些 PNG 档在使用 PNGCRUSH 和 PNGOUT 处理过,WebP 还是可以减少 28% 的文件大小。就目前而言,Webp 可以让图片大小平均减少 70% 。WebP 是未来图片格式的发展趋势。

PNG / JPG to Webp

 

点击图片或者文件夹右键选择 Convert to Webp 格式,将 png / jpg 图片压缩为 webp 格式图片.

 

最后我们只减少了不到 200 kb 左右,有可能项目图片资源本来就没有多大,只是太多小图片导致的。

应用场景及优势

  • 客户端软件,内嵌了基于 Chromium 的 webview,这类浏览器中应用的网页是可以完全使用WebP 格式,提升加载渲染速度,不考虑兼容。
  • 用 node-webkit 开发的程序,用 WebP 可以减少文件包的体积。
  • 移动应用 或 网页游戏 ,界面需要大量图片,可以嵌入 WebP 的解码包,能够节省用户流量,提升访问速度优势:
  • 对于 PNG 图片,WebP 比 PNG 小了45%。

2. 去除多语言

在 app/build.gradle 添加

android{
 ...
 defaultConfig{
 ...
 //只保留英语
 resConfigs "en"
 }
}

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值