Eclipse Tool zum entdecken von Memory Leaks bzw. zur Erkennung unbenötigter Objekte.

hazzilein

Lieutenant
Registriert
Mai 2008
Beiträge
692
Hallo Leute,

ich schreibe zur Zeit an einer relativ großen Applikation für Android und stöße langsam an die Grenzen der Laufzeitumgebung.

Langsam ist es Zeit sich um die Objekte zu kümmern, welche nach dem Beenden einer Activity nichtmehr gebraucht werden.

Es ist schon langsam relativ schwierig den Überblick zu behalten welche Objekte angelegt und somit wieder auf null gesetzt werden müssen, damit der GC so schnell wie möglich aufräumen kann.

Gibt es ein Eclipse Plugin, welches übersichtlich nach Beenden einer Activity zeigt, welche Objekte noch bestehen und somit auf null gesetzt werden müssen?

Dabei wäre zum Beispiel eine Übersicht welche Objekte beim starten der Activity angelegt werden sinnvoll, denn alle Objekte müssen danach wieder weg sein :)

mfg :)
 
Zuletzt bearbeitet:
Du brauchst die Objekte nicht zwangsweise auf null setzen. Der Garbage Collector überwacht die Referenzen auf die Objekte. Hat ein Objekt keine auf ihn verweisende Referenz mehr, dann löscht er es nach einer gewissen Zeit von alleine.
 
ist zwar kein eclipse-plugin, aber du kannst ja mal die visual-vm ausprobieren.

Damit kann man Java-Anwendungen monitoren auf Speicherverbrauch und CPU-Auslastung.

Man kann sich auch die existierenden Objekte angucken, etc.

Vllt hilft dir das ja

Edit: schreibst du in java?
 
Zuletzt bearbeitet:
Android Apps werden normalerweise in Java geschrieben.
 
Also wenns um Profiling geht, habe ich sehr gute Erfahrungen mit dem jProfiler gemacht, ist zwar nicht OpenSource, kannst aber eine 10Tage Evaluations Version (pro EMail Adr) uneingeschränkt nutzen.

jProfiler klinkt sich direkt in Eclipse ein und man kann wunderschön sehen welche Objekte wie viel Speicher nutzen oder CPU Zeit verbrauchen.

Sonst würde ich auch zur VisualVM oder jConsole (beide im $JDK_HOME/bin Ordner zu finden) raten. Die bieten meistens einen ersten Ansatzpunkt.

Hast du denn konkrete Speicher Probleme oder willst du einfach nur mal so drüber schauen?
 
du kannst mit jmap nen dump des java-threads erzeugen und mit jhat analysieren.
oder mit dem eclipse memory analyzer tool statistiken erzeugen.
 
Zurück
Oben