[英]how as3 memory management
首先定義一個類:
class C1 extends Sprite
{
public function C1() { super(); }
}
然后在文檔類中編寫以下代碼:
setInterval(function(a:Sprite):void {
a.addChild(new C1());
}, 10, this);
setInterval(function(a:Sprite):void {
a.removeChildAt(0);
}, 11, this);
然后運行它並檢查內存ustage,它會變得越來越大......
從root刪除子進程時如何釋放內存?
Flash VM使用垃圾收集來釋放內存。 除非您明確調用System.gc()
,否則播放器將在任意時間執行GC,但此方法僅適用於AIR和Flash Player的調試版。 因此,即使已經釋放了程序中的資源,內存的使用仍可能繼續增加,直到GC進程執行為止。
另請注意, addChild()
和removeChild()
只是在顯示列表中添加和刪除項目。 要真正釋放資源,必須將程序中保留的所有引用顯式設置為null
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.