首页 > 解决方案 > 清除本地缓存后显示旧缓存图片,想显示新下载的网络图片

问题描述

在我的应用程序中,我从网络下载了一张图片,然后将此图片保存在本地缓存存储中,并使用特定名称,例如test.jpeg,然后我test.jpeg在 Android 设备中显示该图片。

如果我在 android 设置中清除应用程序的本地缓存,然后再次从网络下载新图像并使用相同的名称 ( test.jpeg) 保存新图像。然后我显示图像,我希望应该显示新图像,但它显示的是旧图像。

杀死应用程序并再次运行后,它会显示新图像。

要下载并保存图像,我使用Dio库。

这是下载并保存到本地目录的示例代码

Dio client;
String imageSavePath =
    path.join((await getTemporaryDirectory()).path, “test.jpeg”);
await  client.download(url, imageSavePath);

那么,如何在不关闭应用程序的情况下显示新下载的图像。

标签: flutterdartflutter-layout

解决方案


请查看以下链接https://api.flutter.dev/flutter/painting/imageCache.html

import 'package:flutter/services.dart';

imageCache.clear();

它可能对你有用。


推荐阅读