0

「abc.mxml」では、以下のような画像と音声のオブジェクトを作成し、動的に実データを割り当てました。

<s:Image id="imgGoodJob" horizontalCenter="0" verticalCenter="0" 
         scaleMode="stretch" visible="false" click="onGoodJobClicked()" />
<mm:Sound2 id="sndEndingBgm" />

以下のコードを使用して、「onDeActive()」関数のメモリでそれを解放します

imgGoodJob = null;
sndEndingBgm = null;
flash.system.System.gc();

しかし、プロファイリングでメモリ使用量を監視したところ、そのメモリの割り当ては解除されませんでした。何が起こっているのかわかりません。メモリ上のオブジェクトの割り当てを解除する別の正しい方法はありますか?

それを教えてください!

  • さらに、「Vector。<*>」のプロファイリングでは、メモリ使用量のほぼ半分を占めています。このオブジェクトを解放するにはどうすればよいですか?
4

1 に答える 1

0

自己回答。

「null」に設定して gc() を呼び出す前に、再生されて停止していないアニメーションがいくつかあります。

すべてのアニメーションを停止した後、 gc() はうまく機能します:)

于 2013-03-13T15:25:29.367 に答える