我正在尝试测试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)
尝试在属性设置上清除它
private string _imageSource{ get; set; }
public string image1Source
{
get{
return _imageSource;
};
set{
_imageSource= value;
await CachedImage.InvalidateCache(_imageSource, CacheType.All, true);
};
}
该问题也是由于图像url上的缓存造成的。移动缓存被清除了,但服务器映像也被缓存了,因此我们再次获得了相同的映像,这给人的印象是缓存没有被清除。