我知道我可以做到这一点(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的默认值是什么?


如果要了解javaMaxHeapSizedexOptions属性的默认值,则该值为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


该值以字节表示。

10-07 18:17