在使用Android Studio开发Android的过程中,经常会遇见在project building的时候出现IDE卡死,进而联通电脑卡死的现象,我的ssd+8g+i5也是如此,然后不得不强制重启电脑,这不仅影响了工作效率,对电脑也不好,而且对程序员的心里上也是一种打击,于是乎在网上搜索一番后,发现我们可以通过一个设置(开启gradle独立)去改善这样的窘境。
在下面的目录下面创建gradle.properties文件:
/home/<username>/.gradle/ (Linux)
/Users/<username>/.gradle/ (Mac)
C:\Users\<username>\.gradle (Windows)
并在所创建的文件中加入:
org.gradle.daemon=true
上面是这个方法,或者在项目中的gradle.properties文件做一下修改:
# Project-wide Gradle settings.
# IDE (e.g. Android Studio) users:
# Settings specified in this file will override any Gradle settings
# configured through the IDE.
# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html
# The Gradle daemon aims to improve the startup and execution time of Gradle.
# When set to true the Gradle daemon is to run the build.
# TODO: disable daemon on CI, since builds should be clean and reliable on servers
org.gradle.daemon=true
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
# Default value: -Xmx10248m -XX:MaxPermSize=256m
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
org.gradle.parallel=true
# Enables new incubating mode that makes Gradle selective when configuring projects.
# Only relevant projects are configured which results in faster builds for large multi-projects.
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:configuration_on_demand
org.gradle.configureondemand=true
这样修改配置文件主要就是, 增大gradle运行的java虚拟机的大小,让gradle在编译的时候使用独立进程,让gradle可以平行的运行。
通过上面的修改之后,我们还需要设置一下Android Studio的配置,如下图:
经过这样设置后,你会发现,“我擦,飞一般的感觉!”
这里我还遇到一个问题,就是在卡死后,重启电脑,打开工程,有时会出现所有的所有的import异常,这里的解决方法就是:
File -> Invalidate Caches / Restart -> Invalidate Caches & Restart
然后重启AS之后,重新build一下就好了。
最后补充:
使用网上第三方的依赖库时尽量使用aar,可以在mavenhttp://gradleplease.appspot.com/或者githuhttps://github.com/Goddchen/mvn-repo搜索。
自己的库模块也可以打包成aar,关于这个可以参考stormzhang的文章http://www.stormzhang.com/android/2015/03/01/android-reference-local-aar/。