• Android 包体积优化


    1.精简支持语言:

    我司应用的用户几乎都是中国人,所以我们去掉了多语言的支持,只保留了中英文两种配置,甚至可以把应用中使用字符串全写在values/string.xml中,只保留英文一种。对应的配置是

    resConfigs "en", "zh-rCN"
    

    2.精简支持的cpu架构:

    目前大部分手机都支持arm-v7a,所以应用中只保留了一种架构支持,其他应用可根据实际情况,灵活选择。对应的配置是

    ndk {
        abiFilters 'armeabi-v7a'
    }
    

    3.只使用一套设计图:

    一般情况下项目中可以只保留一套设计图比如xxhdpi, 如果某些地方适配不好,单独为它添加图片

    4.proguard代码混淆

    开启代码混淆也是降低apk体积的重要手段,可以删除没有使用的代码,并且可以对代码进行压缩。

     
    5.资源动态加载

    可以将一些不必要资源放入网络中,等需要时再下载,比如:

    • emoji表情
    • 换肤资源
    • 动态添加插件化模块
    6.去除无用资源

    通过Android Studio提供的 Remove Unused Resource功能物理移除无用资源;

    gradle配置 shrinkResources 打包过程中去掉无用的资源文件。

    但是使用的时候需要谨慎,如果代码中存在getIdentifier方式获取资源文件,切记不要删除,需要写入raw/keep.xml文件中,避免被删除,特别要注意第三方库的资源文件。

    7.资源混淆工具

    腾讯的AndResGuard和字节跳动的AabResGuard

    8.其他

    • 将项目中的图片通过AndroidStudio工具转成webp格式
    • 将项目中的png图片使用tinypng进行压缩
    • 一些可以用代码实现,也可以用图片实现的,需要做一下权衡。能用shape就绝不用图片,对于纯色或渐变的图片,能用shape渲染的就优先使用shape。
    • 尽量少使用gif图,gif体积较大
    • 尽量避免使用Lottie,它会在asset中引入json文件



    作者:yi_zhe
    链接:https://www.jianshu.com/p/c76a032b0f4c
    来源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  • 相关阅读:
    手机领域的各种角色介绍
    windows配置教程
    windows7安装教程(vmware)
    /etc/profile、~/.bash_profile、~/.bashrc和/etc/bashrc
    vmware自定义网段
    wps去除首字母自动大写
    Windows和Linux创建软链接和硬链接
    计算机的组成部件及其厂商
    windows开机锁定小键盘
    PL/SQL Developer安装教程
  • 原文地址:https://www.cnblogs.com/wytiger/p/12951501.html
Copyright © 2020-2023  润新知