疑問

by mtok forked from Testing weak reference (diff: 15)
♥0 | Line 29 | Modified 2009-09-04 06:03:26 | MIT License
play

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');
        }
		
    }
}