【发布时间】:2021-04-09 03:40:09
【问题描述】:
我刚刚实现了 Flutter package cached_network_image,我想知道如何预加载图像以便稍后立即可用。我从我们的服务器中检索将在以后使用的所有图像 URL。
我已经定义了我的自定义缓存管理器 getter:
class LocalCacheManager {
static const key = 'customCacheKey';
static CacheManager instance = CacheManager(
Config(
key,
stalePeriod: const Duration(days: 14),
maxNrOfCacheObjects: 200,
repo: JsonCacheInfoRepository(databaseName: key),
fileSystem: LocalCacheFileSystem(key),
fileService: HttpFileService(),
),
);
}
这是我目前尝试预加载图像的方式:
LocalCacheManager.instance.downloadFile(MY_IMAGE_URL)),
这是我创建小部件的方法:
child: CachedNetworkImage(imageUrl: MY_IMAGE_URL, cacheManager: LocalCacheManager.instance),
但我可以清楚地看到,一旦我创建了 CachedNetworkImage,文件总是会再次被缓存。
【问题讨论】:
-
我必须承认我的解决方案有效...我使用另一个包来显示带有淡入动画的图像,这就是为什么我没有看到太大的区别。因此,如果有人想知道如何预加载缓存的网络图像,那就去吧。
标签: flutter