JetBrains JVM Debugger Memory View Plugin
Auf der Suche nach neuen Tools während meiner letzten F & E -Aktivitäten, um meine Entwicklungserfahrung zu verbessern und das Leben mit Android Studio zu erleichtern, fand ich ein nützliches Plugin, von dem ich noch nie gehört habe. Deshalb habe ich beschlossen, dieses leistungsstarke Tool zu schreiben und wie es mir hilft, meine Anwendung mit Speicher zu debuggen.
Worum geht es im Plugin?
Nach der Plugin -Seite:
Dieses Plugin erweitert den integrierten JVM-Debugger mit der Möglichkeit, Objekte im JVM-Haufen während einer Debug-Sitzung zu beobachten.
Die Speicheransicht wird nach Klassennamen gruppiert, um die Gesamtzahl der Objekte im Heap anzuzeigen.
Wenn Sie die Code Schritt für Schritt debuggen, zeigt die Spalte "Diff" die Änderung der Anzahl der Objekte zwischen den Debugger -Stopps (Debugger -Stopps, dh Debug -Punkte). Auf diese Weise können Sie leicht sehen, wie sich Ihr Schritt -Code auf den Haufen auswirkt.
Doppelklicken Sie auf den Klassennamen, um ein Dialogfeld mit Instanzen der Klasse zu öffnen. Mit diesem Dialog können Sie Instanzen durch berechnete Ausdrücke filtern . Alle Debugger -Aktionen (z. B. Überprüfung, Markieren von Objekten, Bewertung von Ausdrücken, Hinzufügen zu Beobachtungen usw.) können auf Instanzen in diesem Dialog angewendet werden.
Wie installiere ich dieses wunderbare Plugin?
Öffnen Sie die Seite Android Studioplugins:
Drücken Sie die Taste für Jetbrains -Plugin, suchen Sie nach JVM -Debugger -Speicheransicht und installieren Sie sie.
Starten Sie Android Studio nach der Installation neu.
Auf den ersten Blick:
Nachdem Sie zu Android Studio zurückgekehrt sind, werden Sie feststellen, dass das Fenster "Speicheransicht" auf der rechten Seite der Symbolleiste hinzugefügt wurde.
Speicheransichts -Werkzeugfenster
Speicheransichts -Werkzeugfenster
Wenn Sie die Speicheransicht nicht sehen, öffnen Sie das Werkzeugfenster und verwenden Sie das Hauptmenü: Ansicht → Werkzeugfenster → Speicheransicht.
Erstens wird dieses Tool nur dann Daten angezeigt, wenn der Debug -Breakpoint während des Debug -Modus eingestellt und ausgeführt wird.
Zweitens werde ich erwähnen, dass ich einige der Warnungen und Fehler gelesen habe, die mit Android Studio passieren können, aber ich habe es nicht begegnet.
WARNUNG: Die Android Studio -Version enthält die folgenden Einschränkungen:
Lass uns debuggen!
Nachdem Sie die Anwendung im Debug -Modus ausgeführt und auf dem Haltepunkt inne, sehen Sie ein magisches Bild:
Was uns am meisten interessiert, ist die Diff -Spalte. Wenn Sie Schritt für Schritt die Codezeile debuggen, sehen Sie, wie viele neue Objektinstanzen erstellt oder zerstört werden!
Ich möchte mein eigenes Objekt finden (d. H. Profilemodell -Klasse), also habe ich danach gesucht:
Wie Sie sehen, dass ich das in dieser Codezeile verwendete Profilemodell aktualisiert habe, erhalte ich vor GC das alte Objekt, den Unterschied beträgt +1 und kann auch auf das alte Objekt zugreifen, das zuvor nicht möglich war. Durch Doppelklicken auf diesen Datensatz werde ich eine Instanz der Profilemodellklasse im Fenster erhalten:
Mit diesem Fenster können Sie auch Instanzen nach berechneten Ausdrücken mit Klassenmethoden filtern. Sie können beispielsweise die Issuccessful -Methode der OKHTTP -Antwortklasse verwenden, um Antworten zu filtern, die erfolglos geladen werden, im Speicher zu laden:
Instanzfilterfunktion
Eine weitere nützliche Funktion ist die Nachverfolgung neuer Instanzen, die Sie im Fenster "Memory View Tool" über das Menü mit der rechten Maustaste aktivieren können:
Mit dieser Funktion können Sie den Code für neue Instanzen generierter Klassen verfolgen!
Das obige ist das vom Editor eingeführte Idea Memory Debugging Plug-In. Ich hoffe, es wird für alle hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Editor wird allen rechtzeitig antworten. Vielen Dank für Ihre Unterstützung auf der Wulin.com -Website!