O estúdio Android ocupa muita memória

175

Instalei o Android Studio 1.0 RC 2. Tenho 4 GB de RAM instalada, mas depois de iniciar o Android Studio e iniciar o Android Emulator, mais de 90% da memória física foi usada apenas por esses dois. Existe alguma maneira de reduzir esse uso de memória? Devido a esse problema de memória, não consigo abrir outros aplicativos ao mesmo tempo. insira a descrição da imagem aqui

PPD
fonte
17
Usar o Eclipse ou o Android Studio e um emulador em uma máquina de desenvolvimento de 4 GB do Windows será muito doloroso. Eu recomendo fortemente que você atualize a RAM da sua máquina de desenvolvimento (8 GB ou mais), teste em um dispositivo (em vez de um emulador) ou ignore o IDE e faça seu desenvolvimento usando um editor simples e ferramentas de linha de comando.
CommonsWare
2
Eu acho que você está usando o Windows, a julgar pela captura de tela que postou. Mas qual versão do Windows? Além disso, como o Android Studio ainda está em sua infância, você terá muitos problemas com ele. Se você não precisa de suporte Gradle, sempre pode experimentar o Eclipse - o IDE foi testado e testado ao longo dos anos, por isso é bastante sólido para um ambiente de desenvolvimento - em termos de RAM.
ChuongPham
1
@CommonsWare Você sabe se o mesmo se aplica ao Linux PC? Desde já, obrigado.
Alexander Kulyakhtin
4
@PPD: no Windows, desative serviços desnecessários via Ferramentas Administrativas | Opção de serviços . Vá para msconfige desative aplicativos desnecessários na guia Inicialização . Desative Efeitos Visuais desnecessários no Windows. Ao executar um emulador do Android, ative a opção Usar GPU do host, principalmente se você tiver uma placa gráfica poderosa. Eu tenho um PC de desenvolvimento com Windows 7 e só uso de 2 a 2,5 GB de RAM a qualquer momento, incluindo: Windows 7, Eclipse, Mozilla Firefox (sem complementos) e as etapas de personalização do Windows que acabei de mencionar. Eu também uso o Fedora e ele usa ainda menos memória que o Windows.
ChuongPham
3
Apenas uma observação: posso ver que você tem algumas guias do Google Chrome abertas. Você pode achar que o Firefox usa um pouco menos de RAM, pois não usa um processo por guia do navegador.
26415 Sam

Respostas:

224

Atualmente, estou executando o Android Studio na máquina Windows 8.1 com 6 GB de RAM.

Descobri que desativar o VCS no android studio e usar um programa externo para lidar com o VCS ajudaram bastante. Você pode desativar o VCS acessando Arquivo -> Configurações -> Plugins e desabilite o seguinte:

  • Integração CVS
  • Integração Git
  • GitHub
  • Teste do Google Cloud
  • Núcleo do Google Cloud Tools
  • Google Cloud Tools para Android Studio
  • hg4idea
  • Integração Subversion
  • Integração Mercurial
  • TestNG-J
jds17
fonte
18
nah, mudança muito pequena.
krivar
5
Diferença enorme quando seu projeto é configurado com qualquer repositório como svn ou github. meu tempo de espera de execução foi reduzido de> 3min para <1min. Muito obrigado pela ajuda incrível.
Er. Kaushik Kajavadara
4
Isso parece funcionar e faz uma grande diferença, embora eu tenha mantido o 'Git Integration' ativado. Idealmente, o Android Studio deve ter essas configurações padrão.
Mr-IDE
3
Usei esse método para o mini case HP 6005 com 4 GB de RAM e CPU X4 amd. depois de desativar todos esses plugins, meu estúdio android foi aberto muito, muito rápido, eu não posso acreditar. antes de iniciar o android studio, demore 15 segundos, mas agora ele aparece em 1 segundo. obrigado
AN
2
Desative também a Integração Mercurial, TestNG-J;
Xiaoweiz 03/04/19
108

No meu caso, havia duas fontes principais de sobrecarga de memória: o IDE e Gradle:

Android Studio (até 1,5 GB)

A JVM do IDE está configurada para ter um tamanho máximo de heap. Você pode ver isso no canto inferior direito da interface principal:

Android Studio mostrando 725M de tamanho máximo de heap

Você pode reduzir este editando as configurações relacionadas com a memória no .vmoptionsarquivo . Por exemplo, alterei meu tamanho máximo de heap para 512 MB:

-Xmx512m

Infelizmente, descobri que diminuir esse valor aumenta a frequência do congelamento temporário do Android Studio, talvez para fazer sua coleta de lixo.

Gradle (até 1,5 GB)

Gradle também pode usar muita RAM depois de desenvolver por um tempo. O Windows apenas mostra como Java(TM) Platform SE Binary:

Gerenciador de tarefas do Windows 8.1 mostrando "Java (binário da TM Platform SE" usando 1.460,5 MB de memória

Você pode corrigir isso alterando as opções da Gradle JVM. Você pode fazer isso por usuário editando gradle.properties:

  1. Abra o gradle.propertiesarquivo, criando-o se ele não existir:
    • Janelas: %USERPROFILE%\.gradle\gradle.properties
    • Linux / Mac: ~/.gradle/gradle.properties
  2. Atualize a org.gradle.jvmargspropriedade, criando-a se necessário. Eu defini o meu para isso:

    org.gradle.jvmargs=-Xmx256m -XX:MaxPermSize=256m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
    

Não notei nenhuma diferença no desempenho de compilação para meu pequeno projeto com o tamanho máximo de heap definido como 256 MB ( -Xmx256m).

Observe que pode ser necessário reiniciar o Android Studio para que o antigo processo Gradle seja eliminado; caso contrário, você poderá acabar executando os dois ao mesmo tempo.

Emulador

Em relação ao emulador que ocupa grande parte de sua RAM, sua captura de tela mostra que ele leva cerca de 800 MB. Você pode escolher quanta RAM alocar para o emulador:

  1. Edite o AVD
  2. Pressione Mostrar configurações avançadas
  3. Reduza o valor da RAM

Configuração de RAM do dispositivo virtual Android

Sam
fonte
Isso em conjunto com a resposta de SoJexy aumentou drasticamente o desempenho no meu computador.
Josh Larson
Essas dicas foram um salva-vidas! Há também uma opção para alterar o tamanho do heap usado pelo compilador dex, o que reduz ainda mais o uso de memória. Detalhes: techzog.com/development/android-studio-high-ram-usage
Varun
1
No .vmoptionsarquivo, ele diz: *DO NOT* modify this file directly. If there is a value that you would like t$ please add it to your user specific configuration file. See http://tools.android.com/tech-docs/configurationNo entanto, como não parece haver um arquivo específico do usuário no meu sistema e o site não explica nenhum outro local desse arquivo, seguirei com esta solução. Ah e: MaxPermSize será descontinuado em algum momento. Sempre me alerta sobre isso ao iniciar IDEs no terminal.
Zelphir Kaltstahl,
1
@Zelphir, qual versão do SO e Android Studio você está usando? Estou usando o Windows e as instruções dizem que o arquivo está abaixo %USERPROFILE%, específico do usuário. Não sou muito bom em Linux, mas as instruções para Mac e Linux também dizem que o arquivo está abaixo ~, o que eu acho que é o diretório inicial do usuário? Se o arquivo não estiver presente, talvez você possa apenas criá-lo; a documentação mencionada acima diz Instead, you can customize the attributes by creating your own .properties or .vmoptions files in the following directories.. Você poderia me informar se funciona para que eu possa atualizar a resposta?
Sam
3
Sugestões impressionantes! Para Gradle, resolvi o problema de maneira "abrangente para o usuário", editando ~/.gradle/gradle.properties.
Andrea Lazzarotto 29/03
51

Você pode acelerar o trabalho do Eclipse ou Android Studio, basta seguir estes:

  • Usar / abrir projeto único por vez
  • limpe seu projeto depois de executar seu aplicativo no emulador toda vez
  • use dispositivo móvel / externo em vez de emulador
  • não feche o emulador depois de usar uma vez, use o mesmo emulador para executar o aplicativo sempre
  • Desative o VCS usando Arquivo-> Configurações-> Plug-ins e desative o seguinte:
    1.CVS Integration
    2.Git Integration
    3.GitHub
    4.Google Cloud Tools para Android Studio
    5.Subversion Integration

Também estou usando o Android Studio com memória principal instalada de 4 GB, mas seguir estas instruções realmente melhora meu desempenho no Android Studio.

KulArtist
fonte
1
Desativei todas as coisas da lista. Ainda assim ele usa mesmo ram em torno de 1,5 GB
Arshad
@ arshadkazmi42 me diga configuração do seu PC
KulArtist
i3, 4 GB de RAM, 500 GB de disco rígido
Arshad
13
Eu acho que é um absurdo completo dizer que o "i3" é a causa das falhas no desenvolvimento de software!
XMight 14/10/16
1
Meu processador i3 quer desafiar o seu> i3. Deseja aceitar esse desafio? Ninguém vai dizer i3 está causando de mais lento ou tomar memória alta ...
Sabir Hossain
28

O Android Studio publicou recentemente um guia oficial para máquinas com pouca memória: Guia

Se você estiver executando o Android Studio em uma máquina com menos do que as especificações recomendadas (consulte Requisitos do sistema), poderá personalizar o IDE para melhorar o desempenho em sua máquina, da seguinte maneira:

  • Reduza o tamanho máximo de heap disponível para o Android Studio : reduza o tamanho máximo de heap do Android Studio para 512 Mb.

  • Atualizar Gradle e o plug-in Android para Gradle : atualize para as versões mais recentes do Gradle e o plug-in Android para Gradle para garantir que você esteja aproveitando as melhorias mais recentes de desempenho.

  • Habilitar o modo de economia de energia : A ativação do modo de economia de energia desativa várias operações em segundo plano que consomem muita memória e bateria, incluindo destaque de erros e inspeções em tempo real, conclusão do código de autopopup e compilação incremental automática em segundo plano. Para ativar o Modo de economia de energia, clique em Arquivo> Modo de economia de energia.

  • Desabilitar verificações desnecessárias de fiapos : Para alterar quais verificações de fiapos o Android Studio executa no seu código, faça o seguinte: Clique em Arquivo> Configurações (em um Mac, Android Studio> Preferências) para abrir a caixa de diálogo Configurações. No painel esquerdo, expanda a seção Editor e clique em Inspeções. Clique nas caixas de seleção para marcar ou desmarcar as verificações de cotão, conforme apropriado para o seu projeto. Clique em Aplicar ou OK para salvar suas alterações.

  • Depuração em um dispositivo físico : a depuração em um emulador usa mais memória do que a depuração em um dispositivo físico, para que você possa melhorar o desempenho geral do Android Studio depurando em um dispositivo físico.

  • Inclua apenas o Google Play Services necessário como dependências : a inclusão do Google Play Services como dependências no seu projeto aumenta a quantidade de memória necessária. Inclua apenas as dependências necessárias para melhorar o uso e o desempenho da memória. Para mais informações, consulte Adicionar serviços do Google Play ao seu projeto.

  • Reduza o tamanho máximo de heap disponível para a compilação do arquivo DEX : Defina a compilação do arquivo javaMaxHeapSize for DEX para 200m. Para obter mais informações, consulte Melhorar os tempos de construção configurando recursos DEX .

  • Não habilite a compilação paralela : o Android Studio pode compilar módulos independentes em paralelo, mas se você tiver um sistema com pouca memória, não deverá ativar esse recurso. Para verificar essa configuração, faça o seguinte: Clique em Arquivo> Configurações (em um Mac, Android Studio> Preferências) para abrir a caixa de diálogo Configurações. No painel esquerdo, expanda Build, Execution, Deployment e clique em Compiler. Verifique se a opção Compilar módulos independentes em paralelo está desmarcada. Se você fez uma alteração, clique em Aplicar ou OK para que sua alteração seja efetivada.

  • Ativar o modo offline para o Gradle : se você tiver uma largura de banda limitada, ative o modo offline para impedir que o Gradle tente baixar as dependências ausentes durante a sua compilação. Quando o Modo Offline estiver ativado, o Gradle emitirá uma falha de compilação se você estiver perdendo alguma dependência, em vez de tentar fazer o download. Para ativar o Modo Off-line, faça o seguinte:

    • Clique em Arquivo> Configurações (em um Mac, Android Studio> Preferências) para abrir a caixa de diálogo Configurações.

    • No painel esquerdo, expanda Build, Execution, Deployment e clique em Gradle.

    • Em Configurações do Global Gradle, marque a caixa de seleção Trabalho offline.

    • Clique em Aplicar ou OK para que suas alterações entrem em vigor.

Androidmeda
fonte
16

Eu usei todas as recomendações de Sam acima, mas descobri que as opções de linha de comando da VM não são mais suportadas, conforme descrito. (Recebi um erro quando usado)

Como alternativa, pude reduzir drasticamente o gradle adicionando a seguinte linha ao arquivo "gradle.properties"

org.gradle.jvmargs=-Xms512m -Xmx1024m

A partir da versão 1.3, o arquivo está localizado no mesmo nível de pasta que "gradle.build".

A configuração acima é uma "pilha de memória" de 512 meg e "heap de memória" de 1024 meg.

Testei isso em um projeto pequeno, usando configurações nas quais os dois tamanhos de memória foram definidos para 256 meg. Limitou os tamanhos da JVM conforme o esperado. Em todos os meus testes, reiniciei o AS para forçar a JVM a reiniciar.

Felizmente, isso evitará que outras pessoas que lidam com esse problema obtenham as respostas "Compre um computador melhor". :-)

Dilber

SpacemanScott
fonte
Obrigado; isso funcionou para mim no AS 1.3! Atualizei as instruções na minha resposta para cobrir esse método, pois não encontrei outras maneiras de fazê-lo no AS 1.3.
Sam
2

Eu tenho o Android Studio 2.1.1 Bro use o emulador de genymotion É mais rápido se usar o Android Marshmallow. E o My Ram é de 4 gb.

usuario
fonte
3
Como se fosse grátis.
Ojonugwa Jude Ochalifu
Genymotion não é mais rápido no desempenho. O emulador é, mas sim, ele começa mais rápido que o ARM e muito mais rápido que os emuladores de estúdio para Android IntelX86 e X64.
Mahdi-Malv 12/08
2

Para reduzir o atraso, eu recomendaria os seguintes passos

especificações do meu pc: 2 gb de ram, processador: intel core2 duo

primeiro elimine todo o processo em segundo plano, se você tiver um servidor ou banco de dados em execução, poderá pará-los primeiro com os seguintes comandos

serviço sudo apache2 stop

serviço sudo mysql stop

Em seguida, ative o modo de economia de energia no android studio por arquivo> modo de economia de energia

Ele pode desativar o processo em segundo plano e, em seguida, o estúdio parece correr bem

Naveen
fonte
Don t entender por que precisamos para permitirPower Save Mode
Morozov
Morozov, se habilitar modo economia de energia que mata atividades de estúdio android fundo, por isso vai melhorar o seu desempenho
Naveen
sim, o modo de economia de energia pare aqueles processo
Nav
2

Para executar o ambiente Android na máquina de baixa configuração.

  1. Feche as guias da web desnecessárias no navegador
  2. Para usuários de antivírus, exclua a pasta de compilação gerada automaticamente
  3. Estúdio Android tem 1,2 Gb heap padrão pode diminuir para 512 MB

Ajuda> Editar opções personalizadas da VM

studio.vmoptions
 -Xmx512m

O desempenho dos layouts será acelerado

  1. Para Gradle, um dos componentes principais do estúdio Android Mkae, com certeza, como agora, 3.0beta é o mais recente

As dicas abaixo podem afetar a qualidade do código; portanto, use com cuidado:

  1. O Studio contém o Modo de economia de energia, quando ativado, fecha as operações em segundo plano que fiam, complementam o código e assim por diante.

  2. Você pode executar a verificação manual de cotão quando necessário ./gradlew lint

  3. A maioria dos usuários usa emuladores Android, em média, consome 2 GB de RAM; portanto, se possível, use um dispositivo Android real para reduzir a carga de recursos no computador. Como alternativa, você pode reduzir a RAM do emulador e isso reduzirá automaticamente o consumo de memória virtual no seu computador. Você pode encontrar isso na configuração do dispositivo virtual e na configuração avançada.

  4. O modo offline Gradle é um recurso para usuários limitados por largura de banda para desativar o download de dependências de compilação. Reduzirá a operação em segundo plano que ajudará a aumentar o desempenho do Android studio.

  5. O Android studio oferece uma otimização para compilar vários módulos em paralelo. Em máquinas com pouca RAM, esse recurso provavelmente terá um impacto negativo no desempenho. Você pode desativá-lo na caixa de diálogo de configurações do compilador .

Smit Patel
fonte
"studio.vmoptions -Xmx512m" matou o Android studio para mim. Não será mais aberto "Falha ao criar JVM: código de erro -1". Como posso reverter essa alteração?
MeatPopsicle 28/03/19
1
Caso alguém mais caia na mesma armadilha. Você pode corrigi-lo indo para C: \ Users \ <username> \ .AndroidStudio <versão> \ config e procurando um arquivo .vmoptions. Se ele corresponder a configuração que você acabou de adicionar provavelmente você está seguro para excluí-lo
MeatPopsicle
1

Tente alternar sua JVM para eclipsar o openj9. Vai usar muito menos memória. Eu troquei e está usando 600Mb constantemente.

Vijay Britto
fonte
1

Não sei se é uma solução, mas Invalidate Cache and Restartresolvi esse problema no meu caso. Atualmente, estou usando o Android Studio 3.6

Aziz
fonte
0

Abra o caminho de menção abaixo no seu sistema e exclua todos os seus avd's (dispositivos virtuais: emulador)

C: \ Usuários {Nome de usuário} .android \ avd

Nota: - Excluir o Emulador apenas do android studio não excluirá todos os espaços agarrados pelos seus avd. Portanto, exclua todos os avds acima do caminho especificado e crie um novo emulador, se necessário.

Narender Gusain
fonte