我刚刚实现了Flutter的cached_network_image包,我想知道如何预加载图片,以便稍后能够立即使用它们。我从我们的服务器检索稍后将要使用的所有图像URL。
我定义了自己的自定义缓存管理器获取器:
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,文件就会立即被重新缓存。