【问题标题】:In FFImageLoading how to load an image into memory in Xamarin Android?在 FFImageLoading 如何将图像加载到 Xamarin Android 的内存中?
【发布时间】:2018-12-21 17:24:12
【问题描述】:
这样做,我相信我的图像只是被缓存在磁盘上:
ImageService.Instance.LoadUrl(item.profileImg)
.DownSample()
.BitmapOptimizations(true)
.LoadingPlaceholder("blank_profile_img.png", FFImageLoading.Work.ImageSource.CompiledResource)
.Into(holder.imgIcon);
【问题讨论】:
标签:
xamarin.android
ffimageloading
【解决方案1】:
据我所知,您可以简单地指定要用于该特定图像的缓存类型,因为它是根据键存储的。
所以我使用这个库的一个例子是这样的:
ImageService.Instance.LoadUrl(url)
.WithPriority(LoadingPriority.High)
.Retry(3, 200)
.LoadingPlaceholder("ProfilePlaceholder.png", ImageSource.CompiledResource)
.ErrorPlaceholder("ProfilePlaceholder.png", ImageSource.CompiledResource)
.WithCache(FFImageLoading.Cache.CacheType.All)
.Into(profileImage);
关键部分是:
.WithCache(FFImageLoading.Cache.CacheType.All)
您可以指定All,这意味着它将缓存到IO和memory,或者您可以选择它只是IO,或者只是memory。
所以你的看起来像:
ImageService.Instance.LoadUrl(item.profileImg)
.DownSample()
.BitmapOptimizations(true)
.LoadingPlaceholder("blank_profile_img.png", FFImageLoading.Work.ImageSource.CompiledResource)
.WithCache(FFImageLoading.Cache.CacheType.Memory)
.Into(holder.imgIcon);