Android Studio Gradle同步/构建性能

时间:2017-01-31 01:41:06

标签: android performance android-studio gradle android-gradle

这些是之前曾参与过大型项目的Android Studio程序员的一系列问题。所以,在我列出问题之前,让我解释一下我为什么要问。

我无法帮助,但我注意到Gradle需要花费36秒以上的时间来同步和构建我每次启动AS时都要开始编程。它现在不是一个问题,但是当项目开始超过26,000行代码时怎么样?所以,现在我真正的问题是:

1)对于Gradle来说,大型项目的同步和构建需要比一个小型项目长得多吗?

2)如果确实如此,是否存在任何级别的重构/错误捕获,我可以绕过同步/构建以使流程从长远来看更快?

3)我的电脑可以完全超品质的任何游戏。系统规范是否使编译和编程语言处理比游戏规范更快?

感谢所有贡献者,无论您是否能回答所有问题,您都会得到承认(至少投票)!

2 个答案:

答案 0 :(得分:1)

  1. 是的,较大的项目需要更长的时间来同步和构建。代码行是一个促成因素,以及依赖性,资产数量等。有点慢,Gradle也有些臭名昭着。

  2. 这取决于您的个人Gradle配置。删除不需要的步骤(如果您已配置了一些步骤),例如签署APK,也可能有所帮助。 '即时运行'对于小的变化非常快,但有点不值得信任。没有办法跳过'编译步骤 - 如果需要重新编译,则需要重新编译。相信编译器和IDE会优化任何不必要的步骤,并确保您不要求任何不必要的额外步骤。

  3. 游戏计算机通常具有相当强大的处理器,这是用于同步和构建项目的主要组件。硬盘的磁盘读取速度也是一个因素 - 固态硬盘将比平板驱动器快得多 - 但它比处理器的重要性要低得多。您的视频卡是游戏PC中的另一个重要组件,根本不会用于构建。一台坚固的游戏PC将足以满足开发需求。

  4. 有几种方法可以缩短Gradle构建时间(for example)的时间,但构建时间将永远成为现实。

答案 1 :(得分:1)

幸运的是你。在过去两年中,Gradle速度大幅提升。截至今天,虽然仍然有点慢,但我对速度非常满意。无论如何。关于你的问题,这是我的两分钱:

  1. 是。但它不是一个线性的“功能”。我没有遇到任何正确配置需要超过3或4分钟的项目,其中一个特别大。

  2. “加速”进程的唯一方法是分配更多内存。这里有两种方法,在内部(模块)gradle文件中,你可以这样做:

  3. dexOptions { javaMaxHeapSize "5g" }

    或者您可以在gradle.properties文件中定义一个字段:

    org.gradle.jvmargs=-Xmx5632M

    1. 我知道没有系统规格可以提高性能,但听起来你有一个非常好的系统,你不会遇到任何麻烦。该领域取得了很大进展。
    2. 享受发展。