1、清除图片缓存
由于动态图加载完成后,由于缓存原因,再次加载图片时,会直接从缓存读取最后一帧的画面。需要清缓存后预加载图片
// 清除图片缓存void clearImageCache(AssetBundleImageKey key) {final ImageCache imageCache = PaintingBinding.instance.imageCache;imageCache.evict(key);}
2、获取AssetBundleImageKey
AssetBundleImageKey getAssetBundleImageKey(ImageProvider provider, BuildContext context) async {final ImageConfiguration config = createLocalImageConfiguration(context);return await provider.obtainKey(config);}
3、预加载图片
void preLoadImage(ImageProvider provider, BuildContext context) {return precacheImage(provider, context)};
参考:https://book.flutterchina.club/chapter14/image_and_cache.html
