Bitmap.recycle()
のAndroidの参考資料によると:使用後にBitmap.recycle()を呼び出す必要がありますか?
無料このビットマップに関連付けられているネイティブオブジェクト、およびピクセルデータへ の参照をオフにします。これはピクセルデータ を同期して解放しません。 が他の参照でない場合、単にガーベジコレクションすることができます。ビットマップは "dead"とマークされます。つまり、 はgetPixels()またはsetPixels()が呼び出された場合に例外をスローし、 は何も描画しません。この操作は元に戻すことはできませんので、 ビットマップの使用がないと確信がある場合は、 を呼び出す必要があります。 これはアドバンストコールです。 このビットマップへの参照がない場合は、通常のGCプロセスでこのメモリが解放されるため、通常は呼び出す必要はありません。
しかし、読んだ本の多くは、Bitmap.recycle()を呼び出すことでメモリを解放することを推奨しています。
私は混乱します。使用後にBitmap.recycle()
に電話する必要がありますか?
GCは使用されていないときにビットマップを解放しますが、 'recycle()'を呼び出すとGCがメモリのその部分が空いているかどうかを確認するのに役立ちます。ビットマップを読み込んだりアンロードしたりするときに 'recycle()'を呼び出すことは、リストやギャラリーのように良い方法かもしれません –