如何限制DEX内存使用

时间:2014-10-15 08:56:59

标签: android gradle dex

我正在尝试设置DEX任务可以在基于gradle的Android项目中使用的最大内存,但无法找到任何选项来执行此操作。

我这样做的动机是因为dex有时会占用大量内存,以至于我的计算机开始交换并在几分钟内完全没有响应(因此我宁愿看到任务失败,然后释放更多资源并重试)

在我的gradle.propertiesorg.gradle.jvmargs="-Xmx300m"限制了Gradle本身使用的内存,但当Gradle启动dx时,它始终使用-Xmx1024

那么如何让Gradle限制dx使用的内存?

1 个答案:

答案 0 :(得分:14)

在build.gradle脚本中,将dexOptions.javaMaxHeapSize配置设置为您需要的任何值:

android {
//snip
//add this into your existing 'android' block
    dexOptions {
        javaMaxHeapSize "4g"
    }
//snip
}

Source