2014-10-15 5 views
5

Sto tentando di impostare la memoria massima che l'attività DEX può utilizzare in un progetto Android gradle-based, ma non è possibile trovare alcuna opzione per farlo.Come limitare l'utilizzo della memoria DEX

La mia motivazione per fare questo è perché, come dex prende a volte la memoria così tanto che il mio computer si avvia lo swapping e diventa completamente non risponde per alcuni minuti (così avrei preferito vedere il compito fallire e quindi liberare più risorse e riprovare)

Nel mio gradle.properties ho org.gradle.jvmargs="-Xmx300m" che limita la memoria usata da Gradle stesso, ma quando Gradle inizia dx usa sempre -Xmx1024.

Quindi, come posso rendere Gradle limitare la memoria utilizzata da dx?

risposta

14

Nello script build.gradle, impostare la configurazione dexOptions.javaMaxHeapSize a qualsiasi valore è necessario:

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

Source