Показать сообщение отдельно
Старый 05.09.2012, 10:32
rs7 вне форума Посмотреть профиль Отправить личное сообщение для rs7 Найти все сообщения от rs7
  № 1  
Ответить с цитированием
rs7
 
Аватар для rs7

Регистрация: Jun 2009
Сообщений: 56
Question Анонимная функция и сборщик мусора

Объясните, пжлст, почему анонимная функция в приведённом примере не подвергается сборке мусора.
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

//и так далее