Zeitachse für die Zuweisung verwenden

Meggin Kearney
Meggin Kearney

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.

Beispiel für eine Aufzeichnung der Zeitachse für die Zuweisung

Bericht zur Zeitachse der Zuweisung erstellen

So verwenden Sie das Tool Zeitachse für die Zuweisung:

  1. Öffnen Sie in den DevTools den Bereich Arbeitsspeicher.
  2. Aktivieren Sie das Profil Zuweisungen auf der Zeitachse.
  3. Drücken Sie die Schaltfläche Starten, um die Aufnahme zu starten.

Die Option „Auf einer Zeitachse Aufträge erfassen“ ist hervorgehoben.

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:

Beispiel für eine Aufzeichnung der Zeitachse der Zuweisung

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.

Zeitachse, auf der ein einzelner Balken herangezoomt ist

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.