web-dev-qa-db-fra.com

java.lang.OutOfMemoryError: dépassement de la limite de surcharge GC sur Android 1.4

J'obtiens un Java.lang.OutOfMemoryError: dépassement de la limite de surcharge GC lorsque run gradle on Android 1.4 ... ce sont mes dépendances:

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:2.5.1@aar') {
        transitive = true;
    }

Comment résoudre ce problème?

22
Amay Diam

Ajoutez ceci à votre Android (build gradle):

 dexOptions {
        javaMaxHeapSize "4g"
 }

Cela résoudra votre problème. Pourtant, si vous rencontrez un problème, consultez le lien suivant

La limite de surcharge du GC a dépassé l'erreur

65
King of Masses

Voici ce que je propose:

Ajoutez ceci à votre fichier "gradle.properties":

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

Lisez également cet article . Vous pourriez peut-être rendre le bâtiment un peu plus rapide, en ajoutant une combinaison de ceux-ci:

org.gradle.daemon=true
org.gradle.parallel=true
org.gradle.configureondemand=true
33
android developer

Cela a fonctionné pour moi !! Ajoutez simplement les lignes suivantes dans le fichier "gradle.properties"

org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=4096m -XX:+HeapDumpOnOutOfMemoryError
org.gradle.daemon=true
org.gradle.parallel=true
org.gradle.configureondemand=true
4
Abhishek Dhyani
dexOptions {
   javaMaxHeapSize "4g"
}

Vous pouvez simplement opter pour la taille maximale du tas. incremental est déconseillé et par défaut, le champ incrémental est vrai

2
Kaveri

Lorsque JVM/Dalvik dépense plus de 98% en GC et que seulement 2% ou moins de la taille du segment de mémoire est récupéré, "Java.lang.OutOfMemoryError: la limite de surcharge du GC est dépassée" est levée.

La solution consiste à étendre l'espace du tas ou à utiliser des outils de profilage/des analyseurs de vidage de mémoire et à essayer de trouver la cause du problème.

1
greg8188

Mon test échouait dans la version 5.2.1 de gradle "Limite de surcharge GC dépassée Java.lang.OutOfMemoryError: Limite de surcharge GC dépassée". J'ai résolu en ajoutant maxHeapSize dans build.gradle comme ci-dessous:

 test {
        maxHeapSize = "4g"
    }
0
Md Ayub Ali Sarker