web-dev-qa-db-fra.com

Comment résoudre Java.lang.OutOfMemoryError: la limite de surcharge du GC a dépassé l'erreur dans Android studio

J'utilise Android studio 1.0 RC pour Linux 64 bits.

Lorsque j'exécute mon application, je reçois

"Java.lang.OutOfMemoryError: GC overhead limit exceeded"

Lorsque j'ai cherché comment résoudre cette erreur, j'ai obtenu des solutions comme ajouter:

  • -XX: -UtilisezGCOverheadLimit pour studio.vmoptions ou studio64.vmoptions
  • -Xmx2000m vers studio.vmoptions ou studio64.vmoptions etc.

Cela n'a pas fonctionné pour moi.

Veuillez aider. Merci d'avance

25
user3008777

J'ai résolu ce problème en ajoutant

dexOptions { 
          incremental true 
          javaMaxHeapSize "4g" 
} 

à la fermeture Android dans le fichier build.gradle. J'ai trouvé cette réponse dans

OutOfMemoryError: dépassement de la limite de surcharge du GC

58
user3008777

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

EDIT: une réponse mise à jour basée sur mon expérience:

Sur Android Studio, choisissez Help -> Edit custom VM options, puis définissez la mémoire maximale que IDE est autorisé à utiliser. Par exemple, si vous voulez 5 Go, utilisez ceci:

-Xmx5g

Enregistrez le fichier, fermez toutes les fenêtres de IDE (assurez-vous qu'il n'a pas de processus), puis redémarrez l'IDE.

16
android developer

Ajoutez cette ligne dans votre build.gradle

dexOptions
         {
               incremental false
               javaMaxHeapSize "2048M" 
               preDexLibraries = false
         }
3
Sujewan

J'avais aussi le même problème - le mien était pour une raison différente. Je travaillais sur la sauvegarde de certains fichiers et j'ai accidentellement déposé un gros fichier dans le dossier de ressources. Il était proche de 40 Mo.

Une fois ce fichier supprimé, l'erreur a disparu.

2
Veeru

J'ai aussi ce problème, ma solution est: il suffit de modifier le gradle.properties à la racine de votre projet:

org.gradle.jvmargs=-XX\:MaxHeapSize\=512m -Xmx512m

le default jvmargs is 256 lorsque vous compilez beaucoup d'apk de chaîne, cela causera ce problème!

1
mrljdx