Erzwingen der Speicherbereinigung in Google Chrome

Entwickeln wir eine single-page-web-app mit ZKdie ständig kommuniziert mit dem server und aktualisiert Teile der Bildschirme. Die Aktualisierung kann als Häufig als 1s. Während diese updates, Verweise auf große Mengen von JS Objekte sind verloren, und die Objekte werden gereinigt, indem der garbage collector irgendwann.

Soweit wir herausgefunden haben, Chrome läuft nur seine garbage collector auf inaktiven tabs. Dies ist ein problem für uns, weil das app-tab ist in der Regel aktiv und fast nie aktualisiert, so JS Objekte nie gesammelt. Wenn die linke aktiv genug Zeit, die Reiter stürzt schließlich ab (Aww Snap Nachricht).

Müssen wir initiieren die garbage collection manuell. Wir haben bisher versucht, läuft Chrome mit --js-flags="--expose-gc" und läuft gc()aber es gibt eine Ausnahme:

ReferenceError: gc is not defined

Dies nicht passiert, Firefox-Speicherauslastung ist mehr oder weniger eine Konstante.

Force Aktualisierung der Seite ist keine option.

Wären wir dankbar für alle Vorschläge.

BEARBEITEN: wir haben versucht, läuft window.gc() und gc() sowohl auf Chrome-Versionen 23.0.1271.97 m und 25.0.1364.2 dev-m

InformationsquelleAutor der Frage Paulius K. | 2012-12-19

Schreibe einen Kommentar