美文网首页
Android资源压缩总结

Android资源压缩总结

作者: Allenlll | 来源:发表于2019-01-03 17:58 被阅读10次
  • 在buildTypes中开启资源混淆和图片资源压缩
    buildTypes {
        release {
            signingConfig signingConfigs.release
            //开启资源混淆
            minifyEnabled true
            //压缩无用资源
            shrinkResources true
            //zipAlign优化
            zipAlignEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard-rules.pro'
            applyBuildConfigField("release",buildTypes.release)
        }
    }
  • 使用AndroidStudio的Lint工具
    路径Analize--inspectCode,检查无用代码
  • 只保留中文资源
    一些第三方包中有其它语言资源
   android{
        defaultConfig{
            resConfigs 'zh'
        }
    }
  • redex
    faceBook提供的字节码优化工具,可以使包更小,速度更快,但安装比较麻烦
    命令行:redex path/to/your.apk -o path/to/output.apk
    地址:官方地址
  • 设计阶段对图片进行压缩
    tynypng等
    jpg代码png,webp代替gif,webp支持透明度,qulity=75比较好
  • 使用vectorDrawable
    vectorDrawable是矢量图svg的压缩版,只采用了path标签
    vectorDrawable占用空间小,缩放不失帧,有转化工具可以把svg文件转化为vectorDrawable的path字符串,可以对Path应用属性动画,实现一些复杂路径的动画
    配置:
 android{
        defaultConfig{
            vectorDrawables.useSupportLibrary = true
        }
    }

    dependencies{
        //解决兼容性问题
        compile 'com.android.support:appcompat-v7:25.3.1'
    }

-AndResGuard
微信开源组件,可以对资源进行混淆,效果类型java的Proguard,缩短路径,降低可读性,压缩资源。

  • 删除不必要的so文件
    只使用armeabi中的so
  android{
        defaultConfig{
            ndk{
                abiFilters 'armeabi'
            }
        }
    }
  • 使用provide编译release中不需要的库
    在debug时使用反射初始化,以免在release时不能编译通过
  • 清理第三方库中重复的代码

相关文章

网友评论

      本文标题:Android资源压缩总结

      本文链接:https://www.haomeiwen.com/subject/rthqrqtx.html