Milten.ioMilten

Speicherlecks

Speicherlecks durch iterative Heap-Snapshot-Analyse erkennen

Vorteile

Iterativer Heap-Snapshot-Vergleich
Das Tool navigiert mehrfach durch Seiten und vergleicht Heap-Snapshots zwischen Iterationen — bestätigt echtes Speicherwachstum, keine einmaligen Allokationen.
Vier Kategorien der Leak-Erkennung
Erkennt leckende Heap-Objekte, wachsende Collections (Array, Map, Set), akkumulierte Event-Listener und abgetrennte DOM-Knoten, die nach der Navigation im Speicher verbleiben.
Byte-genaues Speicher-Delta-Tracking
Sehen Sie genau, wie viele Bytes jede Seite pro Iteration verliert, mit Retained-Size-Deltas und Distanz vom GC-Root für jedes verdächtige Objekt.
Automatisiertes Multi-Page-Crawling
Navigiert automatisch durch die Seiten Ihrer Website und führt auf jeder Seite eine Leak-Erkennung durch — so werden Lecks über die gesamte User Journey hinweg erkannt.

So funktioniert's

Werkzeuge

Geschwindigkeits-Scanner
INP-Debugger
Back/Forward-Cache testen
Speicherlecks
React Scan

FAQ

Das Tool lädt eine Seite, erstellt einen Heap-Snapshot, navigiert mehrmals weg und zurück und erstellt dann einen weiteren Snapshot. Objekte, die über Iterationen hinweg konsistent wachsen, werden als Lecks markiert — einmalige Allokationen werden ausgeschlossen.

Abgetrennte DOM-Knoten sind HTML-Elemente, die von der Seite entfernt wurden, aber noch durch JavaScript-Referenzen im Speicher gehalten werden. Sie sind eine häufige Ursache für Speicherlecks in Single-Page-Applikationen.

Ja. Das Tool verfolgt die Anzahl jedes Event-Listener-Typs über Iterationen hinweg. Wenn Listener-Zahlen wachsen, ohne bereinigt zu werden, werden sie mit dem spezifischen Eventnamen und dem betroffenen DOM-Knoten markiert.

Absolut. SPAs sind die häufigste Quelle von Speicherlecks, da Komponenten ohne vollständige Seitenneuladen ein- und ausgehängt werden. Das iterative Navigationsmuster wurde speziell für dieses Szenario entwickelt.

Der Bericht zeigt den Objekttyp, die Retained Size und das Wachstumsmuster. Häufige Fixes umfassen das Bereinigen von Event-Listenern in useEffect-Cleanup-Funktionen, das Nullsetzen von Referenzen auf entfernte DOM-Knoten und das Löschen von Intervallen oder Timeouts.
Wir verwenden Cookies

Wir verwenden Cookies, um Ihnen die beste Erfahrung auf unserer Website zu bieten. Weitere Informationen zur Verwendung von Cookies finden Sie in unserer Cookie-Richtlinie.