开发一个大型的Gradle 项目,每次编译编译缓慢,提示堆空间耗尽,经常编了几分钟还是失败
还有就是一个类里面代码过多的时候会卡住,经常受此困扰。
解决方案:
首先解决IDEA卡顿的问题,可以通过设置扩大IDEA的使用内存。
在IDEA安装目录的bin目录下,有idea.exe.vmoptions, idea64.exe.vmoptions两个文件,
根据操作系统选择修改,设置-Xms最小内存,-Xmx最大内存,根据需要都扩大一些就可以了。
这里是我的idea设置,我设置最大内存为2g,4g感觉都还可以。
-Xms512m-Xmx4096m-XX:ReservedCodeCacheSize=512m-XX:+UseG1GC-XX:SoftRefLRUPolicyMSPerMB=50-XX:CICompilerCount=2-XX:+HeapDumpOnOutOfMemoryError-XX:-OmitStackTraceInFastThrow-ea-Dsun.io.useCanonCaches=false-Djdk.http.auth.tunneling.disabledSchemes=""-Djdk.attach.allowAttachSelf=true-Djdk.module.illegalAccess.silent=true-Dkotlinx.coroutines.debug=off
第二步,设置gradle的编译内存,不然编译还是那么慢。
在项目根目录下新建 gradle.properties
根据需要写入内存设置,开启并行编译,这样编译就不会失败了。
org.gradle.parallel=trueorg.gradle.daemon=trueorg.gradle.configureondemand=trueorg.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
