0
私のアプリケーションには、キャッシュされる必要のある一定量の画像があります。それは約12〜15枚の画像です。キャッシュトップが必要です。私がやったことは、このようなデバイス上のディレクトリにあるファイルにイメージを保存することです。私はこのAndroidのキャッシュ方法
BitmapDrawable bg = new BitmapDrawable(BitmapFactory.decodeFile(c
.getFilesDir().getAbsolutePath() + "/background.txt"));
のようにそれを必要とするとき
FileOutputStream o = new FileOutputStream(getFilesDir().getAbsolutePath()
+ "/background.txt");
Bitmap b = getBitmapFromURL("http://10.84.4.2:8083/images/General/background.png");
b.compress(Bitmap.CompressFormat.PNG, 90, o);
それからちょうど私が私の質問は、これです。この
public class DownloadImagesTask extends AsyncTask<String, String, Bitmap>
{
Bitmap bmp;
String name;
@Override
protected Bitmap doInBackground(String... urls)
{
name = urls[1];
return download_Image(urls[0]);
}
@Override
protected void onPostExecute(Bitmap result)
{
try
{
FileOutputStream o = new FileOutputStream(getFilesDir()
.getAbsolutePath() + name);
result.compress(Bitmap.CompressFormat.PNG, 90, o);
} catch (Exception e)
{
e.printStackTrace();
}
}
private Bitmap download_Image(String url)
{
return bmp = getBitmapFromURL(url);
}
}
のような非同期タスクを使用して一度にすべての画像をダウンロードする画像をリロードこれをする悪い方法?私はオンラインでのキャッシングに関する良いチュートリアルを見つけようとしましたが、実際に正しく説明したチュートリアルを見つけるのは難しいと感じました。私が使っている方法はかなりシンプルなようですが、推奨されているかどうかはわかりません。
誰かが私の方法で賛否両論をしていることを教えてもらえれば幸いです。私は別の方法に変更することを検討すべきですか?
おかげ
からFedorVlasovのイメージローダを使用してみてくださいコードレビューのウェブサイト](http://codereview.stackexchange.com) – THelper
これまでリンクを見たことがない、将来それを行います – AdamM