Acabo de actualizar Android Studio a 3.5 Beta 1 y obtengo
Daemon caducado porque el espacio de almacenamiento dinámico de JVM está agotado
mensaje mientras se ejecuta la compilación. Además, la compilación está tardando más en completarse. ¿Alguien tiene alguna idea al respecto?
android-studio
gradle
jvm
android-studio-3.5
Rishabh Sagar
fuente
fuente
Respuestas:
Pude resolver esto para mi proyecto React Native configurando lo siguiente:
y
fuente
Esto se puede solucionar aumentando el tamaño de pila máximo configurado para el proyecto.
A través de IDE:
Agregue las siguientes líneas en el archivo gradle.properties. El tamaño de la memoria inferior se puede configurar según la disponibilidad de RAM
A través de GUI:
En la Configuración, busque 'Configuración de memoria' y aumente el tamaño máximo de pila IDE y el tamaño máximo de pila de Daemon según la disponibilidad de RAM del sistema.
fuente
A medida que agrega más módulos a su aplicación, existe una demanda increíble en el sistema de compilación de Android y la configuración de memoria predeterminada no funcionará. Para evitar OutOfMemoryErrors durante las compilaciones de Android, debe descomentar la configuración de memoria gradle alternativa presente en /android/gradle.properties :
Puede encontrar gradle.properties dentro de la carpeta de Android .
PD
Permítanme aclarar algo de terminología básica para entender todo.
Daemon : - Un daemon es un programa de computadora que se ejecuta como un proceso en segundo plano, en lugar de estar bajo el control directo de un usuario interactivo.
Android Studio 2.1 habilita una nueva función: Dex In Process , que puede aumentar drásticamente la velocidad de las compilaciones completamente limpias, así como mejorar el rendimiento de Instant Run.
Para aprovechar Dex In Process , deberá modificar su archivo gradle.properties y aumentar la cantidad de memoria asignada a la VM Gradle Daemon en 1 Gb, a un mínimo de 2 Gb, utilizando la propiedad org.gradle.jvmargs :
Especifica los argumentos de JVM que se utilizan para el proceso de demonio. La configuración es particularmente útil para ajustar la configuración de la memoria.
Valor por defecto:
La asignación de memoria predeterminada de la VM de Gradle Daemon es de 1 gigabyte, lo cual es insuficiente para admitir dexInProcess, por lo que para aprovecharlo, deberá configurarlo en al menos 2 gigabytes.
Dex en proceso funciona al permitir que múltiples procesos DEX se ejecuten dentro de una sola VM que también se comparte con Gradle, por lo que debe asignar la memoria adicional antes de que pueda habilitarse; esa memoria se compartirá entre Gradle y múltiples procesos DEX.
Si ha aumentado el javaMaxHeapSize en su archivo build.gradle a nivel de módulo más allá del valor predeterminado de 1 gigabyte, necesitará aumentar la memoria asignada al Gradle Daemon correspondientemente.
Cuando hay suficiente memoria asignada, Dex in Process está habilitado de forma predeterminada, lo que mejora el rendimiento general de la compilación y elimina la sobrecarga de iniciar varias instancias de VM paralelas . El resultado es una mejora significativa en todos los tiempos de compilación, incluidas las compilaciones instantáneas, incrementales y completas.
Fuente: https://medium.com/google-developers/faster-android-studio-builds-with-dex-in-process-5988ed8aa37e
https://rnfirebase.io/#increasing-android-build-memory
fuente
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
en gradle.properties. Si aún no funciona, lo siento, no tengo idea de cómo solucionarlo.org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
enandroid/gradle.properties
funcionó como un encanto. ¡¡Gracias!! @KailashUniyal