から返されたメディア サムネイルを効果的に操作する方法を見つけようとしていますMediaStore
。実際には、2 種類のサムネイルがありMICRO_KIND
ます。正方形で、デバイスやプラットフォームに依存しない 96x96 のサイズです。MINI_KIND
横長の画像の場合は約 512x384、縦長の画像の場合は約 288x512 であり、これもデバイスやプラットフォームに依存しません。現在、私は非同期Bitmap
読み込み、リサイクル、キャッシュのすべてのベスト プラクティスを使用しており、実際にMICRO_KIND
. とにかく、これは私が望むものではありません。特に、このような小さな画像が見栄えの悪いタブレットの場合はそうです。使ってみましたMINI_KIND
、しかし、実装を気にせずに、メモリ制限をすぐに超えます。もう 1 つの問題は、縦長の画像には縦長のサムネイルがあり、それらをすべて長方形の横長にする必要があることです。縦横比を維持してトリミングとサイズ変更を試みましたが、コピーを使用した操作ごとに作成され、常にメソッドを使用していることを気にせず、何度も何度も殺さBitmaps
れるため、さらに頭痛の種になります。からクエリされたものを使用して、厳密に指定されたサイズと向きのサムネイルを作成するエレガントでメモリ効率の良い方法を探しています。ヘルプとリファレンスをいただければ幸いです。Bitmap
Bitmap.recycle()
OutOfMemory
MediaStore
1 に答える
2
おっしゃる通り、これまで収穫からリサイクルまで使ってきましたが、今度はそれWeakReferences
も試してみてください。
これでも解決しない場合は、コードでメモリ リークが発生している可能性があります。
同じ問題に関する私の回答を参照してください:ビットマップ サイズが Vm 予算エラー android を超えています
これは一般的な答えです。私が言及したすべての方法を試してください。それらの1つはあなたのために働くはずです:)
ありがとうございました。
于 2012-09-28T10:19:04.853 に答える