Kam*_*n J 41 android gradle dex
在android项目中,build.gradle文件,我已经通过这一行了
dexOptions{
javaMaxHeapSize "4g"
}
Run Code Online (Sandbox Code Playgroud)
我想知道这个javaMaxHeapSize的确切目的以及4g意味着什么.我能给出的其他价值是什么?
Sta*_*lav 31
正如上面的答案中所提到的,只是为dex操作指定Java虚拟机(JVM)的最大内存分配池.它是相同的,为java提供-xmx参数.由于它来自这里的源代码,它的setter看起来像:
if (theJavaMaxHeapSize.matches("\\d+[kKmMgGtT]?")) {
javaMaxHeapSize = theJavaMaxHeapSize
} else {
throw new IllegalArgumentException(
"Invalid max heap size DexOption. See `man java` for valid -Xmx arguments.")
}
Run Code Online (Sandbox Code Playgroud)
所以,你可以看到,接受的值应该与\d+[kKmMgGtT]?模式匹配,因此不是,它甚至指的是man java要了解,如何设置-xmx.您可以在此处阅读手册页.它说,这个标志:
指定内存分配池的最大大小(以字节为单位).此值必须是1024的倍数大于2MB.附加字母k或K表示千字节,或m或M表示兆字节.根据系统配置在运行时选择默认值.
在您的示例中,4g是4 GB,这是dex操作的最大堆大小.
| 归档时间: |
|
| 查看次数: |
33143 次 |
| 最近记录: |