Mit dem Tool Zuweisungszeitachse können Sie Objekte finden, die nicht ordnungsgemäß durch die Garbage Collection freigegeben werden und weiterhin Speicher belegen.
Funktionsweise des Tools
In einem Bericht zur Zuweisungszeitachse werden die detaillierten Snapshot-Informationen des Heap-Profils mit der inkrementellen Aktualisierung und dem Tracking des Zeitachsenbereichs kombiniert. Ähnlich wie bei diesen Tools müssen Sie auch hier eine Aufzeichnung starten, eine Reihe von Aktionen ausführen und die Aufzeichnung dann zur Analyse beenden.
Das Tool erstellt während der Aufzeichnung regelmäßig Heap-Snapshots (bis zu alle 50 ms) und einen abschließenden Snapshot am Ende der Aufzeichnung.
Bericht zur Zeitachse der Zuweisung erstellen
So verwenden Sie das Tool Zeitachse für die Zuweisung:
- Öffnen Sie in den DevTools den Bereich Arbeitsspeicher.
- Aktivieren Sie das Profil Zuweisungen auf der Zeitachse.
- Drücken Sie die Schaltfläche Starten, um die Aufnahme zu starten.
Heap-Zuweisungsprofil lesen
Das Heap-Allokationsprofil zeigt an, wo Objekte erstellt werden, und identifiziert den Speicherpfad. Im folgenden Snapshot geben die Balken oben an, wann neue Objekte im Heap gefunden werden.
Die Höhe der einzelnen Balken entspricht der Größe der kürzlich zugewiesenen Objekte. Die Farbe der Balken gibt an, ob diese Objekte im endgültigen Heap-Snapshot noch aktiv sind. Blaue Balken stehen für Objekte, die am Ende der Zeitachse noch aktiv sind. Graue Balken stehen für Objekte, die während der Zeitachse zugewiesen wurden, aber inzwischen durch die Garbage Collection gelöscht wurden:
Sie können heranzoomen, um den Bereich Constructor zu filtern und nur Objekte anzuzeigen, die im angegebenen Zeitraum zugewiesen wurden. Wenn Sie heranzoomen möchten, ziehen Sie die Maus über den Zeitraum, auf den Sie sich in der Zeitleiste konzentrieren möchten.
Wenn Sie im Bereich Konstruktor auf einen bestimmten Konstruktor klicken, wird im Bereich Begrenzer der zugehörige Begrenzungsbaum angezeigt. Wenn Sie den Speicherpfad zum Objekt untersuchen, sollten Sie genügend Informationen erhalten, um zu verstehen, warum das Objekt nicht erfasst wurde. Sie können dann die erforderlichen Codeänderungen vornehmen, um die unnötige Referenz zu entfernen.
Arbeitsspeicherzuweisung nach Funktion ansehen
Sie können die Arbeitsspeicherzuweisung auch nach JavaScript-Funktion aufrufen. Weitere Informationen finden Sie unter Speicherzuweisung nach Funktion untersuchen.