看板 Flash 關於我們 聯絡資訊
請教各位, 小第寫了一個pic類別,主要是讀一張照片,裡面有個方法是這樣: public function kill():void { parent.removeChild(this); } 我在另一個fla 新建出來十個pic物件,並設定一直向左移動,移出舞片後就自己移除了 for(var i:int=0;i<10;i++){ var _mc:pic=new pic(); _mc.addEventListener(Event.ENTER_FRAME,go); } private function go(evt:Event):void{ evt.target.x+=-1; if(evt.target.x<0){ evt.target.removeEventListener(Event.ENTER_FRAME,go); evt.target.kill(); } } 請問呼叫evt.target.kill()之後是不是會完全移除記憶體了呢, 是看不見了,但總不太確定。 謝謝 -- 先把麵包顧好,才來尋找愛情... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 221.169.202.118
pm2001:flash引擎自己有垃圾回收器 05/14 13:56
vml93:如果我一直產生新的pic實體,一樣用上面的方法就可以了嗎? 05/14 13:59
cjcat2266:只要一個物件完全沒有reference就會被標為「可移除」 05/14 14:55
cjcat2266:記憶體不夠時,GC就會把這些物件移除掉 05/14 14:55
cjcat2266:記得需要把物件removeEventListener()才可,不然殺不掉 05/14 14:57
cjcat2266:或者在addEventListener()時給weakReference參數false值 05/14 14:57
vml93:哦~我明白了,謝謝 05/14 19:25