【发布时间】:2019-12-26 15:13:14
【问题描述】:
我一直在尝试为 Flutter 中的图像添加缓存,但我无法设置缓存持续时间。
我尝试使用 cached_network_image 包,我有一个自定义缓存管理器,我将缓存持续时间覆盖为 2 分钟(而不是将其作为默认值,即 30 天),但图像正在被缓存超过 2 分钟,甚至 1 天后仍在缓存中)。
当我简单地使用Image.network 组件时,图像不会被缓存。
我的自定义缓存管理器:
class ImageCacheManager extends BaseCacheManager {
static const key = "libCachedImageData";
static ImageCacheManager _instance;
factory ImageCacheManager() {
if (_instance == null) {
_instance = new ImageCacheManager._();
}
return _instance;
}
ImageCacheManager._() : super(key, maxAgeCacheObject: Duration(minutes: 2));
Future<String> getFilePath() async {
var directory = await getTemporaryDirectory();
return p.join(directory.path, key);
}
}
预期:图片的缓存时间不会超过我指定的时间(例如 2 分钟)
实际:图像的缓存时间比我指定的时间长(至少 36 小时)
【问题讨论】:
标签: caching flutter flutter-dependencies dart-pub