2015-08-21 9 views
16

Ich erhalte eine java.lang.OutOfMemoryError: GC Obergrenze überschritten bei der Ausführung gradle auf Android 1.4 ... diese meine depedencies sind:java.lang.OutOfMemoryError: GC Obergrenze überschritten auf Android 1.4

dependencies { 
    compile project(':android-crop') 
    compile project(':RTEditor-Toolbar') 

     compile files('libs/apache-mime4j-0.6.jar') 
     compile files('libs/httpmime-4.1.3.jar') 
    /* compile files('libs/httpcore-4.4.1.jar')*/ 
    compile files('libs/jetbrains-annotations.jar') 
    compile files('libs/pinchzoom.jar') 
    compile files('libs/gcm.jar') 
    compile 'com.google.android.gms:play-services:7.8.0' 
    compile 'com.android.support:multidex:1.0.0' 
    compile 'com.android.support:appcompat-v7:22.2.1' 
    compile 'com.android.support:cardview-v7:22.2.1' 
    compile 'com.android.support:design:22.2.1' 
    compile 'com.android.support:recyclerview-v7:22.2.1' 
    compile 'com.android.support:support-v4:22.2.1' 
    //three party library 
    compile 'com.squareup.picasso:picasso:2.5.2' 
    compile 'com.mcxiaoke.volley:library:1.0.18' 
    compile 'com.vinaysshenoy:mugen:1.0.1' 
    compile 'com.github.clans:fab:1.5.5' 
    compile 'com.nineoldandroids:library:2.4.0' 
    compile 'com.github.curioustechizen.android-ago:library:1.3.0' 
    compile 'com.squareup.okio:okio:1.5.0' 
    compile 'com.squareup.okhttp:okhttp:2.4.0' 
    compile 'com.squareup.okhttp:okhttp-urlconnection:2.4.0' 
    compile('com.crashlytics.sdk.android:crashlytics:[email protected]') { 
     transitive = true; 
    } 

Wie kann das behoben werden?

+1

'dexOptions hinzufügen { // Prevent OutOfMemory mit MultiDex während der Aufbauphase JavaMaxHeapSize "4g" }' in Ihrem ** ** build.gradle –

Antwort

45

Fügen Sie diese auf Ihrem Android-Verschluss (Build gradle):

dexOptions { 
     javaMaxHeapSize "4g" 
} 

dies Ihr Problem lösen wird. wenn Sie Problem konfrontiert sehen nach wie vor, den folgenden Link

GC overhead limit exceeded error

+1

Dank Herr, , :) –

+0

Willkommen .. Glücklich zu helfen. Viel Spaß beim Codieren :) –

+2

'incremental true' ist jetzt veraltet und hat keine Auswirkungen auf den Build-Prozess. Also, kann ignoriert werden. – NarendraJi

1

Wenn JVM/Dalvik mehr als 98% GC verbringt tun und nur 2% oder weniger der Heap-Größe zurückgewonnen wird die „java.lang.OutOfMemoryError : GC Overhead Limit überschritten "wird geworfen.

Die Lösung besteht darin, Heap-Speicher zu erweitern oder Profiling-Tools/Speicher-Dump-Analysatoren zu verwenden und versuchen, die Ursache des Problems zu finden. Diese

+0

Was meinst du mit ** extend heap space **? –

14

ist das, was ich vorschlagen:

Fügen Sie diese auf Ihre "gradle.properties" file:

org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=4096m -XX:+HeapDumpOnOutOfMemoryError 

Lesen Sie auch this article. Sie könnten in der Lage sein, das Gebäude etwas schneller zu machen, durch eine Kombination dieser Zugabe:

org.gradle.daemon=true 
org.gradle.parallel=true 
org.gradle.configureondemand=true 
+0

Funktioniert auf Android 2.1, Danke. – Aspicas

+0

Sind diese Inkubationsfunktionen nicht? –

+0

Daemon ist in den neuesten Versionen standardmäßig aktiviert. – Marko

1

dexOptions { JavaMaxHeapSize „4g“ }

Sie können nur für max Heap-Größe gehen. inkrementelle wird deprectaed und standardmäßig inkrementelle Feld gilt

Verwandte Themen