Показать сообщение отдельно
Старый 19.06.2011, 23:15
S-ed вне форума Посмотреть профиль Отправить личное сообщение для S-ed Найти все сообщения от S-ed
  № 17  
Ответить с цитированием
S-ed
 
Аватар для S-ed

Регистрация: Jul 2001
Адрес: SPb.RU
Сообщений: 148
Отправить сообщение для S-ed с помощью ICQ
i.o.
Точно. Все никак не мог вспомнить. Знал что есть ссылки в таблице слушателей, и знал что несмотря на это слушатель может быть удален, но почему - забыл. useWeakReference

Вот код что ввел меня в заблуждение:
Код AS3:
var s1:Sprite = new Sprite();
var s2:Sprite = new Sprite();
s1.addEventListener(Event.ENTER_FRAME, enterFrameListener);
s2.addEventListener(Event.ENTER_FRAME, enterFrameListener);
s1.name = 'Sprite 1';
s2.name = 'Sprite 2';
 
var timer:Timer = new Timer(1,0);
timer.addEventListener(TimerEvent.TIMER, timerListener);
timer.start();
 
s2 = null; /*обнуляется в самом начале, однако, программа продолжает валить в консоль
сообщения еще несколько секунд*/
 
function timerListener (e:TimerEvent):void
{
	new TextField();
}
 
function enterFrameListener( e:Event ):void
{
	trace(e.target.name, timer.currentCount, System.totalMemory);
}
Взят из Мука и немного изменен.
Код:
Sprite 1 742 32137216
Sprite 2 742 32137216
Sprite 1 745 32141312
Sprite 2 745 32141312 - тут коллектор забрал s2
Sprite 1 747 30515200
Sprite 1 750 30515200
Sprite 1 753 30515200
Sprite 1 756 30519296
Sprite 1 759 30523392
__________________
RTFM


Последний раз редактировалось S-ed; 19.06.2011 в 23:41.