Ich versuche, ionic2
und ionic3
besser zu verstehen.
Wie funktioniert die Müllsammlung in ionischer?
Wie auf diesem Bild zu sehen ist ( source ):
Ein Teil des Speichers wird G.C'd, wenn eine neue Seite aufgerufen wird. Der Speicher ist jedoch immer noch deutlich höher als vor dem Abspielen eines Videos.
OK, ich werde es versuchen:
ngOnDestroy()
. Warum ist diese Methode für Sie als App-Entwickler wichtig? Weil es Ihnen die Möglichkeit gibt, hinter sich aufzuräumen. Diese Methode wird kurz vor der Zerstörung Ihrer Komponente aufgerufen. Was bedeutet das? Sie brauchen Ihre zugewiesenen Objekte, Arrays, Videoelemente (setzen Sie src=''
und dann load()
) usw. nicht mehr und Sie können den Speicher freigeben. Dies und dies sind gute Lesevorgänge zur Speicherfreigabe. Wie die Dokumentation für onDestory()
erwähnt, müssen Sie jedoch nur Speicher freigeben, der nicht vom Automic GC bereinigt wurde (Abonnements, Media-Elemente, ...). Was uns auf die nächste Ebene bringt: delete
. Das folgende Bild visualisiert den Markierungs- und Sweep-Prozess: Bild von diesem Artikel , es erklärt, wie Javascript Speicherverwaltung sehr detailliert arbeitet, ich stark empfehlen Sie es zu lesen.
Tags und Links garbage-collection ionic-framework ionic3 ionic2