[java] Kann nicht ausgeführt werden Dex: GC Overhead-Limit in Eclipse überschritten



Answers

Für mich haben folgende Schritte funktioniert

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

3)Restart eclipse

Siehe hier

Question

Als ich das Git-Projekt OsmAnd heruntergeladen habe und es kompiliert habe, gab Eclipse diese Fehler zurück:

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

Google und haben gesagt, dass ich -Xms40m -Xmx384m in eclipse.ini ändern muss. Konvertierung in Dalvik-Format fehlgeschlagen: Dex: Java-Heap-Speicher kann nicht ausgeführt werden .
Ich habe das Projekt gereinigt und Eclipse neu gestartet, aber es hat nicht geholfen.

Ich habe diesen Link gefunden: Tipps für Android-Entwickler: "Konvertierung ins Dalvik-Format fehlgeschlagen: Konnte nicht ausführen dex: null" Aber ich weiß nicht, welche .jar von meinem Projekt die Eingabe ändern soll. Wenn mir jemand helfen kann, kann ich die senden Projekt für sie.




1) Open eclipse.ini file
2)change
-Xms40m
-Xmx512m
to 
-Xms512m
-Xmx1024m
3)Restart eclipse

Dieselbe eclipse.ini- Datei wird in Eclipse in diesem Root-Pfad der Eclipse selbst liegen:

C:\Users\username\Downloads\adt-bundle-windows-x86_64-20140702\eclipse\eclipse.ini

Die gleiche Datei wird in Android Studio-Projekt befinden: -

C:\Users\username\AppData\Local\Android\sdk\tools\lib\monitor-x86_64\monitor(Type:Configuration settings)



Lassen Sie mich annehmen, dass dieses Problem durch das Android-XML verursacht wird, da Sie es sehr häufig öffnen

Die folgenden zwei Probleme in sind miteinander verknüpft:

Jedes Mal, wenn ich in Eclipse auf eine Android-XML-Datei klicke, werden Daten für alle API-Versionen geladen

und

Das Ausführen von dex: GC overhead limit ist nicht möglich

Ich habe eine weitere Lösung gefunden , um dieses Problem zu lösen, außer die VM-Werte zu erhöhen oder auf eine ältere ADT-Version (22.6.2 oder 23.2) herabzustufen.

Hinweis:

Einige der älteren ADT-Versionen, die die XML-Datei nicht jedes Mal laden, wenn Sie sie öffnen. Daher gibt es keinen Speicherüberlauf, der dazu führt, dass dieser GC-Overhead überschritten wird, wie im ersten Thread beschrieben

Lösung:

Am unteren Rand der Sonnenfinsternis befindet sich das Mülltonnensymbol, das " Run Garbage Collector" anzeigt . Immer wenn Sie eine XML-Datei von Android schließen, vergessen Sie nicht, einfach auf den Papierkorb zu klicken oder Garbage Collector auszuführen , um Speicher freizugeben. Auf diese Weise können Sie den Arbeitsbereich vor dem Absturz dieser Art von Fehler schützen: D

Dies könnte eine ultimative Lösung sein, da Sie den VM-Wert nicht über Ihr RAM-Limit hinaus erhöhen können, wenn Sie Ihr Android-XML sehr häufig öffnen, besonders wenn Sie viele UI-Funktionen wie mich verwenden: P

Ich hoffe, das würde jedem helfen, der zu diesem Thema kommen wird :)

Behalten Sie Ruhe und Code eingeschaltet




Ich kenne nicht den Grund für diese Umgehung, aber es funktioniert für mich die ganze Zeit, wenn all die oben genannten nicht.

Starten Sie Eclipse nicht von einer Verknüpfung oder einem Link. Öffnen Sie es immer von der eclipse.exe in Ihrem Eclipse-Ordner, dem Ordner, in dem sich die eclipse.ini

Hinweis - Ich habe es nur für Linux versucht.




Links