Android studio关于Android

Android Studio 优化构建速度解决方案

2017-03-07  本文已影响1129人  yangjingxuan

原文连接 Android Studio 优化构建速度解决方案

随着项目工程的扩大,程序编译时间也越来越长,同时也影响到了我们整个开发的速度。为了提高开发效率下面将列出一些优化方案:

开发的时候尽可能的使用最新设备进行开发,运行在Android7.0(API level 24)

最新的Android 平台可以让你程序编译运行速度更快,如Android Runtime(ART)还有更好对multiple DEX 支持

1.优化配置文件
2.避免编译不必要的资源

在开发环境编译的时候,你可以选定一种语言与一个屏幕分辨率参数,如下面

android {
  ...
  productFlavors {
    dev {
      ...
      resConfigs "en", "xxhdpi"
    }
    ...
  }
}
3.开发版本编译关闭奔溃分析日志

如果你不需要奔溃分析日志报告,你可以直接关闭

android {
  ...
  buildTypes {
    debug {
      ext.enableCrashlytics = false
    }
}
4.使用静态配置值在你调试编译时

当你在编译生成正式版本的时候会用到动态版本代码,版本名称,资源等,这些动态生成的配置参数可以在调试运行时候隔离他们,使用静态的配置值进行debug 版本编译,如下面的代码:

int MILLIS_IN_MINUTE = 1000 * 60
int minutesSinceEpoch = System.currentTimeMillis() / MILLIS_IN_MINUTE

android {
    ...
    defaultConfig {
        // 默认使用版本静态值
        versionCode 1
        versionName "1.0"
        ...
    }


    // 这些动态值将在你编译正式版本时候生效
    applicationVariants.all { variant ->
        if (variant.buildType.name == "release") {
            variant.mergedFlavor.versionCode = minutesSinceEpoch;
            variant.mergedFlavor.versionName = minutesSinceEpoch + "-" + variant.flavorName;
        }
    }
}

5.使用静态依赖版本值

诸如com.android.tools.build:gradle:2.+可以在编译调试的时候使用当前固定版本值替换

6.配置DexOptions与启用 Library per-dexing
7.增大Gradle编译堆栈空间

如在你的 gradle.properties 文件下 增大设置堆栈空间

org.gradle.jvmargs = -Xmx2048m
8.使用WebP 图片格式

将PNG图片转换成WebP

9.禁用PNG图片处理

如果你不想转换webp格式的图片,但是你仍旧想提高你的编译运行速度,那你可以参照如下配置 禁用PNG图片自动压缩

android {
  ...
  aaptOptions {
    cruncherEnabled false
  }
}

提示:当你以一次构建成功后,你会发现接下来的clean build操作会越来越快(即使不使用本页的任何优化)。这个是因为Gradle 进程会有一个“热身”提高性能的过程,类似JVM进程的预热期

通过本页的一些优化后,应该能为你减少编译过程的大多数时间

上一篇 下一篇

猜你喜欢

热点阅读