我知道我可以做到这一点(reference):
android {
...
dexOptions {
maxProcessCount 4 // this is the default value
javaMaxHeapSize "2g"
}
}
但是我怎么知道javaMaxHeapSize的默认值/当前值?
我的平台是Fedora 21及以下版本:
Android Studio 2.1.2
Build #AI-143.2915827, built on May 26, 2016
JRE: 1.8.0_74-b02 amd64
JVM: Java HotSpot(TM) 64-Bit Server VM by Oracle Corporation
最佳答案
这取决于您的意思:
javaMaxHeapSize的默认值是什么?
如果要了解javaMaxHeapSize
中dexOptions
属性的默认值,则该值为null
。
如果尚未指定,则此任务可以演示它:
task maxSize << {
println("Java max heap size is: ${project.android.dexOptions.getJavaMaxHeapSize()}")
}
如果您想知道JVM最大堆大小(我想您想知道这一点),那么它是一个JVM参数,可以根据您的机器而改变。
引用
Oracle
文档:最大堆大小:
小于物理内存的1/4或1GB。
在J2SE 5.0之前,默认的最大堆大小为64MB。您可以
使用-Xmx命令行选项覆盖此默认值。
您可以在终端中检查它是否正在执行此UNIX命令(如您所说,您正在使用
Fedora
):java -XX:+PrintFlagsFinal -version | grep MaxHeapSize
该值以字节表示。