Web から読み込んだ画像を保存する必要があるかどうか (およびその方法) に関する質問がありました。Android アプリから Web サービスを呼び出しているとします。この Web サービスでは、Web 上の画像の URL を取得します。この画像をダウンロードして、ListView のリスト項目の左側に表示します。私の質問は、画像を保存するためにどの方法を使用すればよいですか? するべきか:
- SDCard に保存し、ListView の作成時に (後続の要求で) 存在するかどうかを確認し、必要に応じて再ダウンロードします (画像が変更された場合に時々更新しながら)。
- Context.getCacheDir() を使用してキャッシュに保存しますが、画像がキャッシュに残っていることに頼ることができないため、より頻繁に再ダウンロードを余儀なくされる可能性があります。
- 常にダウンロードし、イメージを保存しないでください。
画像ファイル自体はかなり小さいですが、これらの小さな画像を何十枚もダウンロード/保存するユーザーもいると思います。どの方法が最も効果的ですか?また、推奨される方法は何ですか?
副次的な質問として、最初に ListView にすべての画像をロードする (そして、しばらくの間 UI をロックする可能性がある) か、非同期にロードしてその間にプレースホルダー グラフィックを表示する必要がありますか (これはもう少し「醜い」かもしれません)。ここの基準は?