Android 进击

Android性能优化之---apk瘦身

2020-04-24  本文已影响0人  小程序猿一枚

背景

apk结构分析

apk有lib、classes.dex、assets、resources.arsc、res等文件组成

以上面截图为例我们apk瘦身的主要目标有了,主要是lib、res、classes.dex。话不多说,开始步入正题;

apk瘦身开始

1、lib

so文件与cpu的关系或者联系
可以看到,该目录下主要存放so文件的,so文件包括:armeabi、armeabi-v7a、arm64-v8a、mips、mips64、x86、x86_64等。
目前市面上的兼容市面是的手机主要保留armeabi-v7a和arm64-v8a就可以了
或者把so文件放在服务器上动态获取

buildTypes {
        release {
//省略其他配置
            ndk {
                //选择要添加的对应cpu类型的.so库。
                abiFilters 'arm64-v8a', 'armeabi-v7a'
            }
        }
    }

2、classes.dex

classes.dex中包含了所有的java代码,当你打包时,gradle会将所有模板力的.class文件转换成classes.dex文件,当然,如果方法数超过64K的话,需要多个classes.dex来存放。换句话说,就是减少代码量。我们可以通过以下方法来实现:

3、res

该目录下存放各种图片、布局文件以及资源文件等,优化步骤主要有

图片资源

        release {
//省略其他配置
          minifyEnabled true  //混淆代码
            zipAlignEnabled true
            shrinkResources true //资源瘦身
    }
}

等等

语言资源
根据app使用范围,删除不一样的语音资源

 defaultConfig {
//隐藏其他配置
        resConfigs "zh-rCN"//只保留中文简体
    }

其他方面优化

合理使用lint工具,删除不在使用的资源文件和代码等等

传送门

熊猫压缩
智图压缩
Apk结构解析

上一篇 下一篇

猜你喜欢

热点阅读