こんな感じかな?もちろんこのリスナーがDestroyされるときはすべてのメンバーを
明示的にDestroy()する。もし忘れてもデストラクタのなかで一応Destroyしてあるから
大丈夫。

俺も最初Initializeされただけの状態があるのはやだなと思ったけど、巨大な
ファイルをロードするときは、ロードするタイミングを調整しやすいからじゃないかな?
あ、541さんの指摘した通りだと思います。
つまり上の例だと、スタート画面ではまだマリオはロードされてませんという利点があるのかも。
確かにCreate済みのチェックはめんどそうですね。

Createの中でもまず最初にDestroy()を呼んでから
何かをすると言っていた。つまり、確実にメモリなどを開放してあることを保障してからオブジェクトを作ると。

コンストラクタではInitializeを呼ぶだけ、すべての
値を0とかnullに。

>>540
こないだから遊びでJ2MEを触っていますが、じつは似たような話が出てきてるんです。
つまりメモリが限られてるので、明示的にDisposeというメソッドをつけて、
メンバーにnullを割り当てろ、と。つまりGCに教えてやることでゴミ掃除を早める
という話でした。ほんとかな。多分、SWTとかも明示的にメモリ開放(GCを呼ぶ)
することでGUIの処理を早めてるんじゃないのかな。想像だけど。