Je viens de mettre à jour Android Studio vers la version 3.5 Beta 1 et je reçois
Expiration du démon car l'espace du tas JVM est épuisé
message pendant l'exécution de la compilation. En outre, la construction prend plus de temps à se terminer. Quelqu'un a-t-il une idée à ce sujet?
android-studio
gradle
jvm
android-studio-3.5
Rishabh Sagar
la source
la source
Réponses:
J'ai pu résoudre ce problème pour mon projet React Native en configurant ce qui suit:
et
la source
Cela peut être résolu en augmentant la taille maximale du tas configurée pour le projet.
Via IDE:
Ajoutez les lignes ci-dessous dans le fichier gradle.properties. La taille de mémoire inférieure peut être configurée en fonction de la disponibilité de la RAM
Par GUI:
Dans les paramètres, recherchez «Paramètres de mémoire» et augmentez la taille maximale du tas IDE et la taille maximale du tas Daemon selon la disponibilité de la RAM du système.
la source
Au fur et à mesure que vous ajoutez plus de modules à votre application, il y a une demande incroyable placée sur le système de construction Android et les paramètres de mémoire par défaut ne fonctionneront pas. Pour éviter OutOfMemoryErrors pendant les versions Android, vous devez décommenter le paramètre de mémoire de gradle alternatif présent dans /android/gradle.properties :
Vous pouvez trouver gradle.properties dans le dossier android .
PS
Permettez-moi de clarifier une terminologie de base pour comprendre tout cela.
Démon : - Un démon est un programme informatique qui s'exécute en tant que processus d'arrière-plan, plutôt que d'être sous le contrôle direct d'un utilisateur interactif.
Android Studio 2.1 permet une nouvelle fonctionnalité: Dex In Process , qui peut considérablement augmenter la vitesse des builds entièrement nettoyés et améliorer les performances d'Instant Run.
Pour profiter de Dex In Process , vous devrez modifier votre fichier gradle.properties et augmenter la quantité de mémoire allouée à la machine virtuelle Gradle Daemon de 1 Go, à un minimum de 2 Go, à l'aide de la propriété org.gradle.jvmargs :
Spécifie les arguments JVM utilisés pour le processus démon. Le paramètre est particulièrement utile pour modifier les paramètres de mémoire.
Valeur par défaut:
L' allocation de mémoire par défaut de Gradle Daemon VM est de 1 gigaoctet, ce qui est insuffisant pour prendre en charge dexInProcess.Pour en profiter, vous devrez donc le définir sur au moins 2 gigaoctets.
Dex in process fonctionne en permettant à plusieurs processus DEX de s'exécuter dans une seule machine virtuelle également partagée avec Gradle, c'est pourquoi vous devez allouer la mémoire supplémentaire avant de pouvoir l'activer - cette mémoire sera partagée entre Gradle et plusieurs processus DEX.
Si vous avez augmenté le javaMaxHeapSize dans votre fichier build.gradle au niveau du module au-delà de la valeur par défaut de 1 gigaoctet, vous devrez augmenter la mémoire affectée au démon Gradle en conséquence.
Lorsqu'il y a suffisamment de mémoire attribuée, Dex in Process est activé par défaut, ce qui améliore les performances de construction globales et supprime la surcharge de démarrage de plusieurs instances de VM parallèles . Le résultat est une amélioration significative de tous les temps de construction, y compris l'exécution instantanée, les versions incrémentielles et complètes.
Source: https://medium.com/google-developers/faster-android-studio-builds-with-dex-in-process-5988ed8aa37e
https://rnfirebase.io/#increasing-android-build-memory
la source
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
dans gradle.properties. Si cela ne fonctionne toujours pas, désolé, je ne sais pas comment résoudre ce problème.org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
enandroid/gradle.properties
travaillé comme un charme. Merci!! @KailashUniyal