1

こんなタイマーを作ったら

var timer:Timer = new Timer(50, 0);
timer.addEventListener(TimerEvent.TIMER, OnTimer);
timer.start();

そして、私の関数が終了すると、このタイマーはスコープ外になり、その参照を保持しているものはもうないと思うでしょう。ただし、このタイマーは引き続き機能します。

ですから、私は幸運に恵まれていて、ガベージコレクターがまだ実行されていないか、何かが参照を保持しています。後者の場合、ガベージコレクションが行われることをどのようにして知ることができますか?

4

1 に答える 1

2

タイマーは引き続き実行され、イベントをディスパッチします。(パブリックインスタンス変数として)アクセスできる方法で宣言し、次のように実行します。

  • timer.stop();
  • timer.removeEventListener(TimerEvent.TIMER, OnTimer);-Flashで非常に重要なこと
  • timer = null;-本当にメモリを解放する必要がある場合は、参照をnullに設定します
于 2013-02-18T20:02:27.743 に答える