Android -App瘦身整理

1.语言国际化

在 module的build.gradle中添加:       

android {
    defaultConfig {
        /** 
         * 国际化资源配置,默认只适配英语,其他按需处理,以','隔开
         */ 
         resConfigs 'en','zh-rCN'
    }
}

效果如下:

 

2. 动态库打包配置(JNI开发生成的so库文件)

android {
    defaultConfig {
        ndk {
            //输出三种指定平台下的so库,不写默认输出所有平台 * (微信只适配了armeabi-v7a)
           abiFilters "armeabi-v7a" /*, "armeabi", "x86"*/
        }
    }
}

3. 启用资源缩减 (不打包)(在编译时启用压缩,故会增加编译时间,不推荐在debug时使用)

     在应用的 build.gradle 文件中启用了资源缩减: shrinkResources ,则 Gradle 在打包APK时可以自动忽略未使用资源 。

     资源缩减只有在与代码缩减: minifyEnabled 配合使用时才能发挥作用。在代码缩减器移除所有不使用的代码后,资源缩减器便可确定应用仍要使用的资源 。

    buildTypes {
        
        release {
            minifyEnabled true    //代码混淆
            shrinkResources true  //资源缩减
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
        
        debug {
            minifyEnabled false    //代码混淆
            shrinkResources false  //资源缩减
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }

4.使用Lint分析器(物理删除,非直接引用的无法识别,慎用

    lint 工具是 Android Studio 中附带的静态代码分析器,可检测到 res/ 文件夹中未被代码引用的资源。

   从菜单栏中依次选择 Analyze > Run Inspection By Name ,输入 unused res

分析完成后会弹出:

lint 工具不会扫描 assets/ 文件夹、通过反射引用的资源或已链接至应用的库文件。此外,它也不会移 除资源,只会提醒您它们的存在。 与资源缩减不同,这里点击删除,那就是把文件删了。

5. 自定义要保留的资源(测试无效,待验证)

如果有想要特别声明需要保留或舍弃的特定资源,在项目中创建一个包含 标记的 XML 文件,并

在 tools:keep 属性中指定每个要保留的资源,在 tools:discard 属性中指定每个要舍弃的资源。这两个属性都

接受以逗号分隔的资源名称列表。还可以将星号字符用作通配符。

<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools"
    tools:discard="@layout/activity_main1"
    tools:keep="@layout/l_used*_c,@layout/l_used_a,@layout/l_used_b*" />

将该文件保存在项目资源中,例如,保存在 res/raw/keep.xml 中。构建系统不会将此文件打包到 APK 中。

6.使用矢量图

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值