美文网首页
APK压缩方法总监思路

APK压缩方法总监思路

作者: xiaobinZh | 来源:发表于2019-03-12 10:29 被阅读0次

现在项目APK 包太大,都已经达到50+M了,不仅仅下载慢,而且作为开发者编译,测试都要花费很多时间。因此想,有没有什么方法能优化下APK。

从上而下的分析思路

  1. 插件化,需要的时候时候再去下载,可以极大的减少APK大小。但是有一定技术难度,成熟的方案有,360 RePlugin,VirtualAPK ,Atlas等
  2. 模块化,业务分模块开发,并且提供noop包,保证能编译,但是无太多代码。
  3. 组件化,公用的功能抽取出内聚的组件模块,尽量复用。

从下而上的分析思路。

大家耳熟能详的方法就有很多,比如开启混淆,压缩图片,使用 SVG,去除无用库,使用 AndResGuard 之类的。大概分类了下:

优化图片大小

1.使用 tinyPNG 压缩图片大小
2.有些图片换成 webP 格式,如背景图
3.icon 图标仅保留一套,使用时将 ImageView 大小限制死。仅保留极个别不同分辨率的图标。

  1. 部分icon 使用 svg 代替(少量)

优化布局

1.优化层级,减少布局嵌套
2.一个界面一个界面的消除过渡绘制
3.多使用 include 标签,重用布局
4.不必要的布局使用 ViewStub 延迟加载(用的很少)
5.将可复用资源抽取到对应的 res 文件中,如字符串,样式等

优化代码

1.实体类去除没用到属性,并将属性设为 public ,去除 get / set 方法
2.减少内部嵌套的实体类,尤其像 GsonFormat 这样的工具生成的实体类
3.能服用的尽量复用。

  1. 剔除了一部分我自己常用的打包好的工具类中一些没调到的方法。

优化三方库的使用

  1. Glide 还是 Picaso 纠结了好一阵子。Picaso 要小很多
    2.推送,统计,三方登录,微信支付,地图,这个没法删。但是优化了一下 so 适配CPU的数量。

编译优化

  1. 开启混淆
  2. 代码压缩,mini

其他优化

  1. 部分功能,网页实现
  2. 地图可用JS代替原生实现

相关文章

  • APK压缩方法总监思路

    现在项目APK 包太大,都已经达到50+M了,不仅仅下载慢,而且作为开发者编译,测试都要花费很多时间。因此想,有没...

  • Android性能优化:安装包优化

    1.常规apk瘦身 apk压缩包的大小经过优化之后变小 1.1 apk中的图片的压缩 对apk中的图片进行压缩 【...

  • APK瘦身

    7zip压缩apk 解压 apk : 7z x -tzip $1压缩 apk : 7z a -tzip targe...

  • 如何在不解压的情况下, 分析AndroidManifest文件

    1. 思路: apk其实就是一个压缩文件, zipFile 可以在不解压的情况下, 读取压缩包的文件. 2.遍历找...

  • cordova 打包Android加密资源目录的文件

    1.其实这里思路就是 将资源目录下的源码文件先打包成zi然后加密 打包到APK中去,然后APK获取此压缩包解密,存...

  • Android 混淆压缩

    一.为什么要混淆压缩? 原因主要有三 增加反编译的成本 资源压缩 减少apk体积 代码压缩 规避64k方法限制 二...

  • 7zip压缩apk

    解压 apk : 7z x -tzip $1压缩 apk : 7z a -tzip target.apk *

  • 安卓逆向:apk 文件简介

    apk 文件 apk 文件本质上是一种压缩包,修改后缀 .apk 为 .zip 即可解压缩。但是这种方式很多内容是...

  • Android优化

    压缩APK文件 优化UI 内存优化 优化代码查看代码逻辑,提取通用代码设计模式 压缩APK文件 Android s...

  • apk压缩

    参考https://www.jianshu.com/p/77cbe147aea8

网友评论

      本文标题:APK压缩方法总监思路

      本文链接:https://www.haomeiwen.com/subject/cgqgpqtx.html