Android Studio 构建速度优化策略(一)
写这篇优化的时候,我们的项目也就34个jar依赖,三个项目依赖
优化一:为 android studio 开启守护进程,设置允许运行并行构建
在下面的目录下面创建gradle.properties文件:
- /home//.gradle/ (Linux)
- /Users//.gradle/ (Mac)
- C:\Users\.gradle (Windows)
增加下面代码
org.gradle.daemon=true
org.gradle.parallel=true
优化二:修改 jvm设置,提高jvm性能
修改idea.xxx.vmoptions/studio.xxx.vmoptions 文件,它在你的idea/android studio 安装目录下的bin 文件夹中
根据自己机子的实际情况,修改设置,我的机子是 8G,i3略菜的机子,公司抠门,不解释
-Xms512m
-Xmx2048m
-XX:MaxPermSize=768m
-XX:ReservedCodeCacheSize=768m
依次解释一下这些设置的意义
- Xms 初始化 JVM 分配的内存
- Xmx JVM所能分配的最大内存(运行时)
- XX:MaxPermSize JVM所能分配的非堆最大内存,按需分配
- XX:ReservedCodeCacheSiz 设置代码编译时的缓存最大值
硬件要求
一般 8G以上,i5以上,最好有SSD,基本用 as 无压力
其他策略
- 使用命令行 build,不要使用 ide 自带的 build。
- 引入远程依赖库和本地依赖库的时候,尽量用 aar依赖,而不是 jar依赖
关于 aar 依赖和 jar依赖的区别
分别存储位置:
- *.jar:库/build/intermediates/bundles/debug(release)/classes.jar
- *.aar:库/build/outputs/aar/libraryname.aar
两者区别:
- *.jar:只包含了class文件与清单文件,不包含资源文件,如图片等所有res中的文件。
- *.aar:包含所有资源,class以及res资源文件全部包含
如果你是一个简单的代码依赖库,则使用 jar即可。如果是一些 ui库或者其他库包含了资源文件,则要使用 aar。
这里对为什么能加快 gradle 构建速度的原因还是未知的 0_0 …