Acabei de atualizar o Android Studio para 3.5 Beta 1 e estou começando
Expirando Daemon porque o espaço de heap da JVM está esgotado
mensagem enquanto a construção está em execução. Além disso, a construção está demorando mais para ser concluída. Alguém tem alguma ideia a respeito disso?
android-studio
gradle
jvm
android-studio-3.5
Rishabh Sagar
fonte
fonte
Respostas:
Consegui resolver isso para meu projeto React Native configurando o seguinte:
e
fonte
Isso pode ser corrigido aumentando o tamanho máximo de heap configurado para o projeto.
Por meio de IDE:
Adicione as linhas abaixo no arquivo gradle.properties. O tamanho da memória abaixo pode ser configurado com base na disponibilidade de RAM
Por meio da GUI:
Em Configurações, pesquise 'Configurações de memória' e aumente o tamanho máximo de heap IDE e o tamanho máximo de heap Daemon de acordo com a disponibilidade de RAM do sistema.
fonte
À medida que você adiciona mais módulos ao seu aplicativo, há uma demanda incrível colocada no sistema de compilação do Android e as configurações de memória padrão não funcionam. Para evitar OutOfMemoryErrors durante as compilações do Android, você deve descomentar a configuração de memória gradle alternativa presente em /android/gradle.properties :
Você pode encontrar gradle.properties dentro da pasta android .
PS
Deixe-me esclarecer algumas terminologias básicas para entender a coisa toda.
Daemon : - Um daemon é um programa de computador executado como um processo em segundo plano, em vez de estar sob o controle direto de um usuário interativo.
O Android Studio 2.1 habilita um novo recurso: Dex In Process , que pode aumentar drasticamente a velocidade de compilações limpas completas, bem como melhorar o desempenho do Instant Run.
Para aproveitar as vantagens do Dex In Process , você precisará modificar seu arquivo gradle.properties e aumentar a quantidade de memória alocada para a VM Gradle Daemon em 1 Gb, para um mínimo de 2 Gb, usando a propriedade org.gradle.jvmargs :
Especifica os argumentos JVM usados para o processo daemon. A configuração é particularmente útil para ajustar as configurações de memória.
Valor padrão:
A alocação de memória padrão do Gradle Daemon VM é de 1 gigabyte - o que é insuficiente para suportar dexInProcess, portanto, para aproveitar as vantagens, você precisará configurá-lo para pelo menos 2 gigabytes.
O Dex em processo funciona permitindo que vários processos DEX sejam executados em uma única VM que também é compartilhada com o Gradle. É por isso que você precisa alocar a memória extra antes de poder ser habilitado - essa memória será compartilhada entre o Gradle e vários processos DEX.
Se você aumentou o javaMaxHeapSize em seu arquivo build.gradle de nível de módulo além do padrão de 1 gigabyte, você precisará aumentar a memória atribuída ao Gradle Daemon de forma correspondente.
Quando há memória suficiente atribuída, Dex in Process é habilitado por padrão, melhorando o desempenho geral de construção e removendo a sobrecarga de iniciar várias instâncias paralelas de VM . O resultado é uma melhoria significativa em todos os tempos de build, incluindo Instant Run, builds incrementais e completos.
Fonte: https://medium.com/google-developers/faster-android-studio-builds-with-dex-in-process-5988ed8aa37e
https://rnfirebase.io/#increasing-android-build-memory
fonte
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
em gradle.properties. Se ainda não estiver funcionando, desculpe, não tenho ideia de como consertar isso.org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
inandroid/gradle.properties
funcionou como um encanto. Obrigado!! @KailashUniyal