java - lang - throwing outofmemoryerror android




Não é possível executar dex: limite de sobrecarga do GC excedido no Eclipse (6)

Quando baixei o projeto Git OsmAnd e fui compilar, o Eclipse retornou esses erros:

[Dex Loader] Unable to execute dex: GC overhead limit exceeded
[OsmAnd]     Conversion to Dalvik format failed: 
             Unable to execute dex: GC overhead limit exceeded

O Google e o Stackoverflow disseram que devo alterar -Xms40m -Xmx384m no eclipse.ini . A conversão para o formato Dalvik falhou: Não foi possível executar dex: espaço de heap Java .
Eu limpei o projeto e reiniciei o Eclipse, mas isso não ajudou.

Eu encontrei este link: Dicas para o desenvolvedor Android: "Conversão para o formato Dalvik falhou: Não é possível executar dex: null" Mas eu não sei qual .jar do meu projeto para alterar a entrada dentro Se alguém puder ajudar, eu posso enviar o projeto para eles.


Após 12 horas com este erro e sem sucesso com a alteração do arquivo eclipse.ini, finalmente encontrei a solução correta. Nas minhas variáveis ​​de ambiente havia uma variável chamada "_JAVA_OPTIONS" contendo o valor "-Xmx512M". Alterando esse valor para o mesmo valor de eclipse.ini (-Xmx4096M), mais uma vez consegui exportar meu projeto para um arquivo APK.


Deixe-me assumir este problema causado devido ao XML do Android, porque com muita frequência você o está abrindo

Estes dois seguintes problemas no são realted uns com os outros:

Toda vez que clico em um arquivo XML Android no Eclipse, ele carrega dados para todas as versões da API

e

Não é possível executar dex: o limite de sobrecarga do GC foi excedido

Eu encontrei mais uma solução para resolver esse problema além de aumentar os valores de VM ou fazer o downgrade para uma versão mais antiga do ADT (22.6.2 ou 23.2)

Nota:

Algumas das versões mais antigas do ADT que não carregam o XML toda vez que você abre, de modo que não haja estouro de memória para fazer com que esse limite de sobrecarga do GC seja excedido, conforme discutido no primeiro thread

Solução:

Na parte inferior do eclipse, haverá Lixeira pode símbolo que estados Run Garbage Collector . Sempre que você fechar um arquivo XML do Android, não esqueça de clicar na Lixeira ou Coletor de Lixo para liberar memória. Desta forma, você pode proteger o espaço de trabalho de travar esse tipo de erro: D

Esta poderia ser uma solução definitiva porque você não pode aumentar o valor da VM além do seu limite de RAM se você abrir com muita frequência o seu XML do Android, especialmente se você faz muita interface do usuário funciona como eu: P

Espero que isso ajude a todos que virão para este tópico :)

Mantenha a calma e o código ligado


Para evitar essa mensagem irritante, tive que alterar minha configuração da seguinte forma:

-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.200.v20120913-

144807
-product
com.android.ide.eclipse.adt.package.adtproduct
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
1024m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.6
-XX:MaxPermSize=256m
-Xms512m
-Xmx1024m

com base na resposta marcada como correta, alterando

-XX:MaxPermSize=256m
-Xms512m
-Xmx1024m

e:

--launcher.XXMaxPermSize
1024m

Para mim seguindo os passos trabalhados

1) Open eclipse.ini file
2)changed
-Xms40m
-Xmx512m
to 
-Xms512m
-Xmx1024m

3)Restart eclipse

Veja aqui


Se essas respostas não funcionarem (elas não foram para mim), tente o seguinte:

1) Faça uma cópia da sua pasta .metadata no seu espaço de trabalho.

2) Apague seu diretório .metadata APÓS A FAZER UMA CÓPIA

3) Abra o Eclipse e feche o Eclipse.

4) Copie sua pasta de plugins do seu antigo .metadata para o seu novo .metadata

5) Importe todos os projetos de volta ao seu espaço de trabalho

6) Mantenha a calma e siga em frente!


eclipse.ini se parece com isso.

-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.200.v20140116-2212
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.6
-XX:MaxPermSize=256m
-Xms40m
-Xmx512m
-Xmx1024m






dalvik