android app 瘦身优化

一、apk 分析工具:
使用 analyze Apk (2.2版本之后才有)
a、可以查看apk 组成及大小和占比等
b、查看dex文件组成
c、Apk对比
如下:直接把apk 拖拽到androidstudio 中。
在这里插入图片描述
二、apk 进行代码瘦身
a、代码混淆:把代码格式打乱,用特殊符号代替,以难理解的形式写成无意义的名字,防止被反编译。
android studio 自带的Proguard java 类文件处理工具,可以检测到无用的类和字段及变量,把代码中元素名称改短,移除冗余代码。
在app 项目的build.gradle文件中做如下处理:
在这里插入图片描述
在proguard-rules.pro中添加相应的混淆处理
在这里插入图片描述
b、三方库处理
统一功能相同的sdk三方库,比如图片加载库glide/pessico 、网络库retofit/okhttp等等,尽量选择更小的库,或者引用部分代码即可。
c、移除无用的代码
三、进行apk 资源瘦身
a、冗余资源:通过android studio 选择项目右键,然后选择Refactor—>RemoveUnused Resource----->
Preview,查看哪些资源没有用到:
在这里插入图片描述
b、图片压缩:使用插件TinyPngPlugin进行图片压缩,在官网(https://tinypng.com/developers)申请apikey ,在build.gradle文件中做以下配置:
在这里插入图片描述
在modle 添加 apply plugin: ‘com.waynell.tinypng’ 及以下配置:

在这里插入图片描述
c、资源混淆:AndResGuard 工具,使资源路径简化变短,例如:res/drawable/wechat变为r/d/a。
网址:https://github.com/shwenzhang/AndResGuard。
配置:apply plugin: ‘AndResGuard’
在这里插入图片描述
在这里插入图片描述
双击选中的任务,如下图:
在这里插入图片描述
四、so库瘦身
a、设置支持的so架构目录,so对应适配的cpu 架构它的运行效率是最高的,如果全部添加各种cpu架构,会导致apk 包会变大,一般选择armeabi目录即可,可以支持其他平台的架构。
b、优化方案
把所有的so 文件放到armeabi目录下,根据cpu架构选择相应的so 库文件。在调用so库的地方,编写以下代码:
String abi = “”;
if(Build.VERSION.SDK_INT <Build.VERSION_CODES.LOLLIPOP){
abi = Build.CPU_ABI;
}else {
abi = Build.SUPPORTED_ABIS[0];
}

    if(TextUtils.equals(abi,"ARMV7")){
        //加载特定的so
    }else {
        //正常加载
    }

c、动态加载和插件化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值