(Ich bin mir nicht sicher, aber ...)
AS3 verwendet eine nicht deterministische Garbage Collection, was bedeutet, dass dereferenzierter Speicher freigegeben wird, wann immer sich die Laufzeit danach anfühlt (normalerweise nicht, es sei denn, es gibt einen Grund für die Ausführung, da die Ausführung eine teure Operation ist). Dies ist der gleiche Ansatz, der von den meisten modernen Speicherbereinigungssprachen (wie C # und Java) verwendet wird.
Angenommen, es gibt keine anderen Verweise auf den Speicher, auf den von byteArray
oder auf die Elemente im Array selbst verwiesen wird , wird der Speicher irgendwann freigegeben, nachdem Sie den byteArray
deklarierten Bereich verlassen haben.
Sie können eine Speicherbereinigung erzwingen, obwohl Sie dies wirklich nicht sollten. Wenn Sie dies tun, tun Sie dies nur zum Testen. Wenn Sie dies in der Produktion tun, beeinträchtigen Sie die Leistung viel mehr als nur.
Um einen GC zu erzwingen, versuchen Sie (ja, zweimal):
flash.system.System.gc();
flash.system.System.gc();
Hier können Sie mehr lesen .