App 瘦身总结

一  APK结构:现在AndroidStudio支持浏览安装包结构首先将待瘦身的app拖入AS里结构如图所示:

会显示大小占比 和 一个apk的构成

二 对应结构的瘦身方法

1  针对dex即编写的Java代码生成的文件;

    方法1: 开启混淆  过滤未用到的class

buildTypes {
     //增加构建类型
     releaseMinifyEnabled {
     //开启dex字节码压缩,舍去未使用的jar和class文件
     minifyEnabled true
     proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard-rules.pro'
     }
     //默认release构建类型
     release {
     minifyEnabled false
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
     }
} 

  方法2:移除废弃功能的代码;

                移除重复的代码【review】;

                移除功能重叠的框架【网络请求,图片加载等等】;

                移除无用的 dependencies 或者 jar 包;

2 针对res资源文件

 方法1:配置build.gradle文件,开启shrinkResources,作用是将res目录下未使用到的图片文件进行特殊处理,其具体做法是将未使用到的图片全部变成1x1像素的小图,从而减少res目录的大小

 buildTypes {
        release {
            signingConfig signingConfigs.comicSign
            minifyEnabled true
            shrinkResources true
            debuggable true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

方法2:采用三方工具(tinypng:https://tinypng.com/)压缩png资源图片

方法3:采用webp格式的图片替换png和jpg格式的图片

方法4:目前市面上绝大部分机型都处于 xxhdpi 的适配范围,所以可以考虑只保留 xxhdpi 目录下一份图片资源;

方法5:删除没有使用的资源 快捷键: Ctrl+Alt + Shift + I    或手动打开AS顶部-->Analyze--->Run Inspection by name

搜索 未用到的资源  Unused resources

3 assets的精简  看哪些资产未用到且打入包里的删除

4  lib精简  native库瘦身:

在 build.gradle 使用 abiFilters 配置需要用到的 CPU 架构,并将不需要兼容的 so 文件从项目中移除即可。

可根据机型只保留 一种或2种架构

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值