【问题标题】: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,这意味着它将缓存到IOmemory,或者您可以选择它只是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);
    

    【讨论】:

    • 我最终改用 Glide,但它的表现更好
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-17
    • 1970-01-01
    相关资源
    最近更新 更多