类比于微信,如何对Apk进行极限压缩,谈下Android压缩8大步
副标题[/!--empirenews.page--]
简介 随着项目的不断迭代,代码量跟资源文件不断增多。那么就会出现打包后的 APK 文件越来越大,如果突然有一天你们老板或领导叫你优化 APK 大小,你还不知道怎么优化那就有点说不过去了,这篇文章咱们就来一起分析并优化 APK 体积大小吧。 分析 APK 资源占用 注意: 我是在 GitHub 找了一个人气比较高的开源项目,需要的话自己可以点击下载,自己动手尝试一番. 从上面图中得出 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 左右,有可能项目图片资源本来就没有多大,只是太多小图片导致的。 应用场景及优势
2. 去除多语言 在 app/build.gradle 添加
3. 去除不必要 so 库 通过反编译 Android 微信版本 得知,微信也只适配了 armeabi-v7a 架构,那么我们删掉其它库的支持吧。
4. 去除无用资源 Link 检查(谨慎删除) 概念 Lint 是 Android Studio 提供的 代码扫描分析工具,它可以帮助我们发现代码结构 / 质量问题,同时提供一些解决方案,而且这个过程不需要我们手写测试用例。代码迭代版本一多,很容易会遗留一些无用的代码、资源文件,我们可以使用 Lint 进行清除。 怎么使用 Link 检查 打开 AS 工具,找到 Analyze > Run Inspection By Name > unused resources 优化 发现我们 link 大概优化了 700 kb继续。 注意 因为 link 是检查有没有引用来做的判断是否使用了资源,那么如果是这种方式勒,所以在删除的时候一定要谨慎。
(编辑:淮安站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |