タグ

gcとAS3に関するdjakarta-trapのブックマーク (2)

  • GCWatcher:GCの起動とオブジェクトの回収状況を監視するための方法

    GCを強制的に起動する方法について追記しました(4/8) fladdictさんのAS3でガベージコレクションを見張る画期的方法メモにて、 弱参照のDictionaryのオブジェクトキーを利用して、対象のオブジェクトがガベッジコレクションされたかどうかを見張ることができるんじゃね?? という面白そうなお題があがっていたので実装、検証を行ってみました。 検証のために実装したクラスGCWatcherには、次の二つの機能があります。 GCが起動した場合にGARBAGE_COLLECTイベントを発行する 監視したオブジェクトを監視リストに追加し、GCに回収された場合にCHANGEイベントを発行する このクラスを使うと、fladdictさんがエントリー中で書いていた、 onGarbageCollection イベントを発行できるし、DictionaryのキーをダンプすればGCされそこねたオブジェクトの

  • AS3で陥りがちなメモリーリーク at AS3S.ORG

    AS3ではガベージコレクションによるメモリ管理が導入されています。 ガベージコレクションとは、簡単に言えば「どこからも参照されなくなったオブジェクトがころあいを見計らって勝手にメモリから消去される」仕組みです。 この「どこからも参照されなくなった」という条件がクセモノで、気をつけないとすぐにメモリーリークの原因になります。 メモリーリークの例 まず、キーボードが押されるとTESTというイベントを発行するSampleクラスを定義します。 package { import flash.display.Sprite; import flash.events.Event; import flash.events.KeyboardEvent; import org.as3s.Document; //Sample Class Ver.1 public class Sample exten

  • 1