
通过各种配置和改进,我能够将构建时间(预构建)从大约30秒减少到大约19秒.基于incremental build blogpost,我假设我可以将构建时间进一步缩短到~5s.
不幸的是,随着增量构建,它只下降到〜15s.使用–profile和–info我试图进一步诊断问题.只有exderract gradle任务compileDevDeBUGJavaWithJavac才显示编译步骤从~16s到~12s.
Incremental compilation of 476 classes completed in 12.51 secs.
在我看来,这对于单行更改来说太慢了,并且它几乎没有反映Gradle对增量构建的要求.我特意尝试更改具有少量依赖项的文件,我知道公共常量会触发完全重建.还有什么可以导致只有一个文件的增量构建变得那么慢?
我还尝试启用实验功能
androID.enableSeparateAnnotationProcessing=true
哪个工作并将我的构建分成两个编译步骤
compileDevDeBUGJavaWithJavac 6.777s
processDevDeBUGAnnotationsWithJavac 6.104s
我希望与之相伴
org.gradle.parallel=true
这两个任务可能并行运行,几乎是构建时间的一半.但显然并行处理在这里不起作用,或者它呢?
还有什么办法可以增加非常小的变化的构建时间?
编辑:我发现主要的问题是我们有太多的类依赖,它总是触发476个类的编译(参见this问题).因为我不期望在我们的遗留代码中解决足够的类依赖性:我的问题仍然存在.项目是否可以启用SeparateAnnotationProcessing并行化或是否有任何其他配置?
解决方法 您可以通过优化来加速开发构建,而不是担心增量方面.你在用proguard吗?如果是这样,请为开发/暂存构建禁用它,并仅将其用于发布版本.如果你已经这样做了 – 我不确定在没有提出机器规格的情况下提出什么建议.
总结以上是内存溢出为你收集整理的Android Studio缓慢增量构建全部内容,希望文章能够帮你解决Android Studio缓慢增量构建所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)