notice: Flash editor updated! Join the development! Thanks to MiniBuilder


embed

FAVORITE BY
:
GCが起きたタイミングで停止してしまう
FORKED

Testing weak reference 疑問 [diff(15)]

  1. package {
  2.     import flash.display.Sprite;
  3.     import flash.utils.Timer;
  4.     import flash.system.System;
  5.     import flash.text.TextField;
  6.     import flash.text.TextFieldAutoSize;
  7.     import flash.events.Event;
  8.     import flash.events.TimerEvent;
  9.     public class TestingWeakRef extends Sprite {
  10.         private var my_txt:TextField = new TextField();
  11.         
  12.         /*
  13.         疑問
  14.         こんなふうにリスナーが消えてしまった場合、
  15.         removeListenerした場合とどう違うのか?
  16.         内部にリスナーの登録自体はのこるのか、
  17.         */
  18.         public function TestingWeakRef() {
  19.             var myTimer:Timer = new Timer(1);
  20.             var listener:Function = function():void {
  21.                 my_txt.text = 
  22.                 String(new Date().time) + ": " + 
  23.                 String(System.totalMemory);                
  24.             }
  25.             addEventListener(Event.ENTER_FRAME, listener, false0true);   // 弱い参照を指定
  26.             my_txt.wordWrap = true;
  27.             my_txt.autoSize = TextFieldAutoSize.LEFT;
  28.             addChild(my_txt);
  29.             myTimer.addEventListener(TimerEvent.TIMER, xTest);
  30.             myTimer.start();
  31.         }
  32.         private function xTest(eventObject:Event):void {
  33.             new TextField();
  34.             //trace('timer');
  35.         }
  36.         
  37.     }
  38. }
noswf
  1. // forked from Fumio's Testing weak reference
  2. package {
  3.     import flash.display.Sprite;
  4.     import flash.utils.Timer;
  5.     import flash.system.System;
  6.     import flash.text.TextField;
  7.     import flash.text.TextFieldAutoSize;
  8.     import flash.events.Event;
  9.     import flash.events.TimerEvent;
  10.     public class TestingWeakRef extends Sprite {
  11.         private var my_txt:TextField = new TextField();
  12.         public function TestingWeakRef() {
  13.             var myTimer:Timer = new Timer(1);
  14.             addEventListener(Event.ENTER_FRAME, test,
  15.                 false0true);   // 弱い参照を指定
  16.             my_txt.wordWrap = true;
  17.             my_txt.autoSize = TextFieldAutoSize.LEFT;
  18.             addChild(my_txt);
  19.             myTimer.addEventListener(TimerEvent.TIMER, xTest);
  20.             myTimer.start();
  21.         }
  22.         private function test(e:Event):void{
  23.                     my_txt.text = 
  24.                     String(new Date().time) + ": " + 
  25.                     String(System.totalMemory);
  26.         }
  27.         private function xTest(eventObject:Event):void {
  28.             new TextField();
  29.         }
  30.     }
  31. }
noswf
  1. // forked from Fumio's Testing weak reference
  2. package {
  3.     import flash.display.Sprite;
  4.     import flash.utils.Timer;
  5.     import flash.system.System;
  6.     import flash.text.TextField;
  7.     import flash.events.Event;
  8.     import flash.events.TimerEvent;
  9.     public class FlashTest extends Sprite {
  10.         public function FlashTest() {
  11.             var myTimer:Timer = new Timer(1);
  12.             addEventListener(Event.ENTER_FRAME, 
  13.                 function (eventObject:Event):void {
  14.                     trace(System.totalMemory);
  15.                 }, false0true);   // 弱い参照を指定
  16.             myTimer.addEventListener(TimerEvent.TIMER, xTest);
  17.             myTimer.start();
  18.         }
  19.         private function xTest(eventObject:Event):void {
  20.             new TextField();
  21.         }
  22.     }
  23. }
noswf
Get Adobe Flash Player