SoftReferenceとBitmapオブジェクト

SoftReferenceを使うと、OutOfMemoryが発生する前のGCによって
オブジェクトを解放させることができる。*1

ただし、SoftReferenceを利用しても、OutOfMemoryが発生することもあります。
Bitmapオブジェクトは、Naiveヒープに画像データを保存します。
このNativeヒープの画像データは、Bitmapオブジェクトが解放されると、
画像データも解放されるようです。
しかし、Bitmapオブジェクトと画像データの解放は、同時に実行されず、
Bitmapオブジェクトが解放されても、画像データが残っている時があるようです。

そのため、SoftReferenceを利用しても、
Bitmapオブジェクトは削除されるが、Nativeヒープの画像データは解放されずに、
OutOfMemoryになってしまうことがあるようです。

上記の動作は、テストプログラム(ボタンを押したときに、Bitmapを確保する)の動きを見ただけで
確証がある訳ではありません。