FFimage 未清除缓存
Cache is not getting cleared with FFimage
我正在尝试测试 FFImage 缓存图像。即使在使缓存无效后,图像也不会刷新。
老图还在继续
<StackLayout Orientation="Horizontal">
<StackLayout>
<Label Text="1.jpg 15 min" FontSize="Title"/>
<ffimage:CachedImage HeightRequest="150" WidthRequest="150" Source="{Binding image1Source}"
CacheDuration="{Binding Duration}"/>
</StackLayout>
<StackLayout>
<Label Text="2.jpg 15 min" FontSize="Title"/>
<ffimage:CachedImage HeightRequest="150" WidthRequest="150" Source="{Binding image2Source}"
CacheDuration="{Binding Duration}"/>
</StackLayout>
</StackLayout>
调用下面使缓存失效:
FFImageLoading.ImageService.Instance.InvalidateDiskCacheAsync()
FFImageLoading.ImageService.Instance.InvalidateMemoryCache();
FFImageLoading.ImageService.Instance.InvalidateCacheAsync(FFImageLoading.Cache.CacheType.All)
尝试在 属性 setter
清除它
private string _imageSource{ get; set; }
public string image1Source
{
get{
return _imageSource;
};
set{
_imageSource= value;
await CachedImage.InvalidateCache(_imageSource, CacheType.All, true);
};
}
该问题也是由于图像 url 上的缓存所致。移动缓存很清楚,但服务器图像也被缓存了,因此我们再次获得相同的图像,这给人的印象是缓存没有被清除。
我正在尝试测试 FFImage 缓存图像。即使在使缓存无效后,图像也不会刷新。
老图还在继续
<StackLayout Orientation="Horizontal">
<StackLayout>
<Label Text="1.jpg 15 min" FontSize="Title"/>
<ffimage:CachedImage HeightRequest="150" WidthRequest="150" Source="{Binding image1Source}"
CacheDuration="{Binding Duration}"/>
</StackLayout>
<StackLayout>
<Label Text="2.jpg 15 min" FontSize="Title"/>
<ffimage:CachedImage HeightRequest="150" WidthRequest="150" Source="{Binding image2Source}"
CacheDuration="{Binding Duration}"/>
</StackLayout>
</StackLayout>
调用下面使缓存失效:
FFImageLoading.ImageService.Instance.InvalidateDiskCacheAsync()
FFImageLoading.ImageService.Instance.InvalidateMemoryCache();
FFImageLoading.ImageService.Instance.InvalidateCacheAsync(FFImageLoading.Cache.CacheType.All)
尝试在 属性 setter
清除它private string _imageSource{ get; set; }
public string image1Source
{
get{
return _imageSource;
};
set{
_imageSource= value;
await CachedImage.InvalidateCache(_imageSource, CacheType.All, true);
};
}
该问题也是由于图像 url 上的缓存所致。移动缓存很清楚,但服务器图像也被缓存了,因此我们再次获得相同的图像,这给人的印象是缓存没有被清除。