在 FFImageLoading 中如何将图像加载到 Xamarin Android 中的内存中?

In FFImageLoading how to load an image into memory in Xamarin Android?

这样做,我相信我的图像只缓存在磁盘上:

ImageService.Instance.LoadUrl(item.profileImg)
.DownSample()
.BitmapOptimizations(true)
.LoadingPlaceholder("blank_profile_img.png", FFImageLoading.Work.ImageSource.CompiledResource)
.Into(holder.imgIcon);

据我所知,您可以简单地指定要用于该特定图像的缓存类型,因为它是根据密钥存储的。

所以我使用这个库的时候的一个例子是这样的:

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,这意味着它将缓存到 IOmemory,或者您可以 select 它只是 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);