1

Adobe Flex 3 を使用して、ファイナライザーを指定する方法はありますか?

4

2 に答える 2

5

ActionScript 3 には、AVM/バイトコード レベルであっても、ファイナライザー/デストラクタの概念はありません。

于 2010-07-29T12:52:59.327 に答える
0

ActionScript 自体にはデストラクタ/ファイナライザのようなものはありませんが、不要になったときにクラス内のすべてのリソースを解放するメソッドを用意することをお勧めします。

ガベージ コレクションは、不要になったオブジェクトのみをピックアップし、参照カウントを使用してそのタイミングを判断します。したがって、削除されていないイベント リスナー、循環依存関係 (相互に参照するオブジェクト) などがある限り、それに気付かないかもしれませんが、メモリ使用量は増加し続け、GC はこれらのリソースをまったく解放しません。

したがって、次のようなorメソッドが必要です。destroy()finalize

  • すべてのイベントリスナーを削除します
  • 呼び出しdestroy()またはfinalize()ネストされたオブジェクト
  • deletes 辞書内のすべての強力なオブジェクト キー
  • すべてのオブジェクト タイプ変数を に設定しますnull(プリミティブ値がリセットされなくても問題ありません)。

Event.REMOVED_FROM_STAGE表示オブジェクトの場合、通常、ディスパッチ時にこのメソッドを呼び出すことは悪い考えではありません。

于 2013-01-24T06:30:19.033 に答える