疑問
forked from Testing weak reference (diff: 15)
ActionScript3 source code
/**
* Copyright mtok ( http://wonderfl.net/user/mtok )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/jExK
*/
package {
import flash.display.Sprite;
import flash.utils.Timer;
import flash.system.System;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import flash.events.Event;
import flash.events.TimerEvent;
public class TestingWeakRef extends Sprite {
private var my_txt:TextField = new TextField();
/*
疑問
こんなふうにリスナーが消えてしまった場合、
removeListenerした場合とどう違うのか?
内部にリスナーの登録自体はのこるのか、
*/
public function TestingWeakRef() {
var myTimer:Timer = new Timer(1);
var listener:Function = function():void {
my_txt.text =
String(new Date().time) + ": " +
String(System.totalMemory);
}
addEventListener(Event.ENTER_FRAME, listener, false, 0, true); // 弱い参照を指定
my_txt.wordWrap = true;
my_txt.autoSize = TextFieldAutoSize.LEFT;
addChild(my_txt);
myTimer.addEventListener(TimerEvent.TIMER, xTest);
myTimer.start();
}
private function xTest(eventObject:Event):void {
new TextField();
//trace('timer');
}
}
}