Android でデータを配置できるさまざまな場所のリストについては、http://developer.android.com/guide/topics/data/data-storage.html#filesInternalをご覧ください。
必要に応じて、ダウンロードしたイメージ ファイルを 3 つの場所のいずれかに配置する必要があります。
画像がユーザーによって表示されることを意図している場合 (ダウンロードした写真など)、それらを外部ストレージに置きます。それらがユーザー インターフェイス要素またはその他の重要な (ユーザー向けではない) 画像であることを意図している場合は、それらを内部ストレージに配置します。すばやくアクセスできるようにキャッシュされ、必要に応じてダウンロードされる場合 (たとえば、Web サイトで見つかったような一時的な画像)、それらを内部キャッシュ ディレクトリ ( Context.getCacheDir()
) に配置します。
アセットがあまりない場合は、プログラムを最初に実行するときにそれらをターゲットの場所にコピーできます (たとえば、特定のファイルの存在を確認し、セットアップが完了したらそのファイルを作成します)。次に、1 か所だけをチェックする必要があります (キャッシュ ディレクトリを除きます。キャッシュ ディレクトリの場合、ファイルが永久に残り続けるとは限りません)。
大量のアセット ファイルがある場合は、2 段階のルックアップを使用します。最初にダウンロードしたイメージ ディレクトリを調べて (たとえば、組み込みのアセットをオーバーライドできるように)、次にアセット ディレクトリを調べます。これは、必要に応じて複数の保管場所を利用できるほど柔軟でもあります。