メモリから完全に削除したい BitmapData ごとに BitmapData.dispose() を呼び出す必要がありますか、それとも BitmapData オブジェクトがガベージ コレクションされるとすぐにそのバッファが解放されますか?
1 に答える
最終的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 オブジェクトがガベージ コレクターによって収集されるときに解放されます。