2014-10-15 18 views
5

Tôi đang cố gắng đặt bộ nhớ tối đa mà tác vụ DEX có thể sử dụng trong một dự án Android dựa trên gradle, nhưng không thể tìm thấy bất kỳ tùy chọn nào để thực hiện điều đó.Cách hạn chế sử dụng bộ nhớ DEX

Động lực của tôi để làm điều này là bởi vì như dex đôi khi phải mất rất nhiều bộ nhớ máy tính của tôi bắt đầu trao đổi và trở nên hoàn toàn không phản hồi trong vài phút (vì vậy tôi thà nhìn thấy nhiệm vụ thất bại và sau đó giải phóng một số tài nguyên hơn và thử lại)

Trong gradle.properties Tôi có org.gradle.jvmargs="-Xmx300m" giới hạn bộ nhớ được Gradle sử dụng, nhưng khi Gradle bắt đầu dx, nó luôn sử dụng -Xmx1024.

Vậy làm thế nào tôi có thể làm cho Gradle giới hạn bộ nhớ được sử dụng bởi dx?

Trả lời

14

Trong kịch bản build.gradle của bạn, thiết lập cấu hình dexOptions.javaMaxHeapSize để bất cứ điều gì giá trị mà bạn cần:

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

Source

Các vấn đề liên quan