Table of Contents
BitmapをPNGで保存し、ImageViewで表示することをしたかったのだが、
画像を何回も同じファイル名アプリの配下に保存して同じファイル名だとキャッシュが残っていて描画されないない。
なのでキャッシュを削除する方法調べたメモです。
// 保存先
File saveFile = new File(getActivity().getApplication().getFilesDir() + "/image.png");
FileOutputStream outStream = null;
try {
outStream = new FileOutputStream(saveFile);
bitmap.compress(Bitmap.CompressFormat.PNG, 100, outStream);
outStream.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
// ImageViewへ設定する前に一度nullを設定
imageImageView.setImageURI(null);
// キャッシュを削除
imageImageView.destroyDrawingCache();
// ファイルを設定
imageImageView.setImageURI(Uri.fromFile(saveFile));
キャッシュ削除
imageView.setImageDrawable(null); or imageView.setImageBitmap(null); or imageImageView.setImageURI(null);
imageView.destroyDrawingCache();