Androidの開発者サイトによると、Bitmap.recycle()
メソッドの定義は次のとおりです。Bitmap.recycle()を使用する必要がありますか?
無料このビットマップに関連付けられているネイティブオブジェクト、と私はいくつかを開発してきました
ピクセルデータへの参照をクリア多くのビットマップを作成/デコードしているアプリケーションで、結果のビットマップオブジェクトをImageView
に設定します。
はまた、私は確信している
とメモリエラーのうち
ビットマップのサイズexcceded VM予算:時々私のような有名な例外を持っています私はそれを引き起こすメモリリークはありません。
多くの検索の後、私は「リサイクル」メソッドを発見し、不要になったときにビットマップのネイティブメモリを解放するために使用しました。 多くの助けを受けたようです。
私はシステムがこれを明示的に呼び出すことなく実行していることを知っているからです(それは多分私が間違っているかもしれません)。
このような状況でこのメソッドを使用する必要がありますか?
どのような状況でこの方法を使用する必要がありますか?
このメソッドをまったく使用する必要がありますか?
ありがとうございます。
はUPDATE:
のAndroid 2.3.3(APIレベル10)と低オン、()のリサイクルを使用してをお勧めします。
Googleは述べている、最近thisガイドを掲載しました。大量のビットマップデータをアプリに表示している場合、OutOfMemoryErrorエラーが発生する可能性があります。 recycle()メソッドを使用すると、できるだけ早くメモリを再利用することができます。
それは 'recyle'を呼び出す必要はありません。それは助けることができますが、それが正しく使用されているときだけです。実際には、 'Bitmap'オブジェクトに' WeakReference'を作成し、それを代わりに返す方がずっと簡単です。 [あなたはこのGoogleのIOの話を見てください](http://www.youtube.com/watch?v=_CruQY55HOk) – adneal
@夕方:ありがとう、そのビデオは長い時間前に見た。 –