视频教程稍后补充:『阿男的Gradle学习笔记』 *04*Gradle的Daemon模式
关于如何设置gradle的daemon模式,在这篇文档[1]中有说明。Gradle会在我们的目录下创建一个名为".gradle"的目录:
class="bash" name="code">
imac:projs weli$ ls -d ~/.gradle
/Users/weli/.gradle
我们在其中创建一个配置文件:
echo "org.gradle.daemon=true" >> /Users/weli/.gradle/gradle.properties
配置完成后,试着build项目:
imac:04 weli$ gradle build
Starting a new Gradle Daemon for this build (subsequent builds will be faster).
:buildEnvironment
------------------------------------------------------------
Root project
------------------------------------------------------------
classpath
No dependencies
BUILD SUCCESSFUL
Total time: 1.968 secs
可以看到gradle会启动一个daemon,这样后续build的时候就会省去了gradle自身的加载和启动时间,提升了build速度。我们可以找到gradle的相关进程:
imac:04 weli$ ps -ef | grep java
501 22085 1 0 1:02AM ttys001 0:04.82 /Library/Java/JavaVirtualMachines/jdk1.8.0_66.jdk/Contents/Home/bin/java -XX:MaxPermSize=256m -XX:+HeapDumpOnOutOfMemoryError -Xmx1024m -Dfile.encoding=UTF-8 -Duser.country=US -Duser.language=en -Duser.variant -cp /Users/weli/projs/gradle-2.14/lib/gradle-launcher-2.14.jar org.gradle.launcher.daemon.bootstrap.GradleDaemon 2.14
501 22126 20686 0 1:04AM ttys001 0:00.00 grep java
可以使用下面的命令停掉daemon:
imac:04 weli$ gradle --stop
Stopping daemon(s).
Gradle daemon stopped.
我们可以使用gradle的报告功能查看执行过程的性能分析:
imac:04 weli$ gradle hello -profile
:hello
Hello, world!
BUILD SUCCESSFUL
Total time: 0.49 secs
执行完成后会生成html格式的报告:
imac:04 weli$ tree
.
├── build
│?? └── reports
│?? └── profile
│?? ├── css
│?? │?? ├── base-style.css
│?? │?? └── style.css
│?? ├── js
│?? │?? └── report.js
│?? ├── profile-2016-06-27-01-06-30.html
│?? └── profile-2016-06-27-01-06-33.html
└── build.gradle
5 directories, 6 files
报告样式如下:
如果我们比对第一次执行build task,启动daemon,以及后续再次执行build task的两份报告,应该可以看到"Startup"所需时间上面的差别。
本节课就讲到这里。
[1] https://docs.gradle.org/2.14/userguide/gradle_daemon.html
- 大小: 195.7 KB