精華區beta Flash 關於我們 聯絡資訊
就是阿 當我宣告了一個 class 裡面 new 了很多物件 那當我在不使用這個物件時 需要將這些 new 的物件設為 null 嗎??? 因為以前是寫 C++ new 的東西都一定要 delete 才行 雖然聽說 as3 有自動資源回收的機制... 不過不是非常了解... 另外 as3的 delete 是用在什麼情況阿 好像很少看到人用 好像大多都是用 null.... 還有當我在 一個 MovieClip 裡面加了許多的 addChild 和 addEventListener 當我 null 這個 MovieClip 時 需要把裡面的東西都 removeChild 和 removeEventListener 嗎 ??? 還是 null 後就會自動釋放資源 ??? 甚至當我載入一個 swf 檔時 在 unload 前 需要先 removeChild 和 removeEventListener 嗎 ??? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.116.155.241
emily114005:當一個object已經沒辦法用變數去存取他(= null)時 04/10 03:52
emily114005:AS3會自動將此object加到garbage collection裡 04/10 03:53
emily114005:然後在系統需要釋放資源時,AS3才會把該object的資源 04/10 03:55
emily114005:釋放出來 04/10 03:55
emily114005:removeChild是用在移除顯示物件 需要移除再移除囉 04/10 03:56
emily114005:而EventListener最好是在沒用到的時候就remove掉 04/10 03:57
emily114005:才不會造成資源浪費 :) 04/10 03:58
cjcat2266:只有記憶體不足的時候才會去清除無法存取的物件(孤兒) 04/10 10:39
cjcat2266:當記憶體足夠的時候,孤兒是不一定會被清掉的 04/10 10:39
Lawnchern:所以 delete是....什麼時候會用呢@@?我也想知道 04/10 11:09
terrylchen:我記得之前看的說明好像是說delete沒辦法刪除區域變數 04/10 19:24
terrylchen:不知道正不正確... 04/10 19:25