1

メモリから完全に削除したい BitmapData ごとに BitmapData.dispose() を呼び出す必要がありますか、それとも BitmapData オブジェクトがガベージ コレクションされるとすぐにそのバッファが解放されますか?

4

1 に答える 1

8

最終的BitmapDataにはガベージコレクションで処分されます。

を呼び出すBitmapData.dispose()とすぐにメモリが解放されるため、特にフレームベースのアニメーション内でビットマップ データを頻繁に使用する場合にパフォーマンスが向上します。ビットマップ データは、大量のメモリをすぐに消費する可能性があります。

Adobe Flash Platform の ActionScript 3.0 リファレンスの BitmapData

BitmapData.dispose() は、実際のビットマップ データが占有していたメモリをすぐに解放します (ビットマップは最大 64 MB のメモリを消費する可能性があります)。BitmapData.dispose() を使用した後、BitmapData オブジェクトは使用できなくなり、BitmapData オブジェクトで関数を呼び出すと、Flash ランタイムが例外をスローします。ただし、BitmapData.dispose() は BitmapData オブジェクト (約 128 バイト) をガベージ コレクションしません。実際の BitmapData オブジェクトが占有していたメモリは、BitmapData オブジェクトがガベージ コレクターによって収集されるときに解放されます。

于 2012-07-03T03:33:18.890 に答える