ビットマップを処理するときに、Android アプリでいくつかのメモリの問題が発生しています (duh!)。
サーバーから画像をロードする複数のアクティビティがあります。これは、アクティビティの背景画像である可能性があります。この背景画像は複数のアクティビティで同じである可能性があり、現在、各アクティビティは独自の背景画像をロードしています。これは、フローが ac1->ac2->ac3->ac4 の場合、同じイメージが 4 回読み込まれ、4 倍のメモリが使用されることを意味します。
このシナリオの画像処理を最適化するにはどうすればよいですか? 画像が保存される画像キャッシュを作成し、各アクティビティが最初にキャッシュに画像を要求しますか? この場合、キャッシュから画像をガベージ コレクションするタイミングをどのように知ることができますか?
提案、優れたチュートリアルへのリンクなどは大歓迎です。
よろしく
編集: デバイスの画像をダウンロードする場合、正確なサイズが使用されます。つまり、UI 要素が 100x100 ピクセルの画像を必要とする場合、そのサイズが取得されるため、スケーリングは必要ありません。そのため、メモリにロードするときに画像を縮小することについてはわかりません。次のアクティビティに移動するときにアクティビティの画像をアンロードし、戻るときにリロードする必要があるかもしれません。