Объясните, пжлст, почему анонимная функция в приведённом примере не подвергается сборке мусора.
FP дебажный.
Просто изучаю, в производстве не использую

Код AS3:
package {
import flash.display.Sprite;
import flash.events.Event;
import flash.events.TimerEvent;
import flash.system.System;
import flash.utils.Timer;
public class Main extends Sprite {
public function Main():void {
addEventListener(Event.ADDED_TO_STAGE, function (event:Event):void {
trace("addedToStage");
var timer:Timer = new Timer(500);
timer.addEventListener(TimerEvent.TIMER, tick, false, 0, true);
timer.start();
event.currentTarget.removeEventListener(event.type, arguments.callee);
});
}
private var i:int = 1;
private function tick(event:Event = null):void {
trace("tick", i);
if (!(i++%5)) {
trace("gc");
System.gc();
}
}
}
}
Цитата:
addedToStage
tick 1
tick 2
tick 3
tick 4
tick 5
gc
tick 6
tick 7
tick 8
tick 9
tick 10
gc
tick 11
tick 12
tick 13
tick 14
//и так далее
|