FlutterにはImageProviderというものがある。普通の画像を表示する Image.file
とかとは違い、FileImage, AssetImageなどのようにDecorationImageなどに画像の情報を提供するためのもの。
これがどうも画像ファイルを上書きしたりしてもキャッシュされてしまうらしい。
これの回避方法としては、MemoryImageを使う方法が一つあげられる。
image: MemoryImage(File(path).readAsBytesSync()),
電池消費がすごそうなので毎回読み込むのではなく画像を更新したタイミングでキャッシュしておくと良さそう。
キャッシュをクリアする方法もあるのかもしれないが、今のところ見つかっていない。
下記でも話題に上がっているので Image.file
とかもキャッシュされるかもしれないし、 imageCache.evict
とかでキャッシュはクリアできるかもしれない。僕は試したけどやり方がダメだったのかわからないがうまくいかなかったので深追いしてない。
Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。
また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!
こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?
コメント