La solution consiste à augmenter la mémoire de build Android.
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 :
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
Vous pouvez trouver gradle.properties dans le dossier android .
PS
Que faisons-nous et pourquoi cela aide-t-il?
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.
org.gradle.jvmargs=-Xmx2048m
Valeur par défaut:
-Xmx10248m -XX:MaxPermSize=256m
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