如何使用 FFImageLoading 为派生的 Xamarin BaseAdapter 中的所有列表项预加载图像 class

How to preload images using FFImageLoading for all list items in derived Xamarin BaseAdapter class

FFImageLoading Xamarin Android/iOS 图像加载库在自定义列表中运行良好,方法是在派生的 BaseAdapter class' 覆盖 GetView 中使用以下内容:

ImageViewAsync imageViewAsync = view.FindViewById<ImageViewAsync>(Resource.Id.Image);
ImageService.LoadUrl(item.ImagePoster).Into(imageViewAsync);

问题是,当向下滚动 Android ListView 时,下载每张图片的时间太长,因此我想预加载列表中的部分或全部图片,以获得更好的用户体验.

那么我可以使用 FFImageLoading 预加载图像而不加载到 ImageViewAsync 中吗?

FFImageLoading 最新的 alpha nuget 包提供了一个 Preload() 方法:

https://github.com/molinch/FFImageLoading/blob/master/source/FFImageLoading.Droid/TaskParameterExtensions.cs

https://github.com/luberda-molinet/FFImageLoading/wiki/API#preload

// 在这个例子中,urlToImage 将被添加到缓存中,而不被分配给任何目标。 ImageService.Instance.LoadUrl(urlToImage).Preload();

请使用最新版本的FFImageLoading。

更好的等待:

ImageService.Instance.LoadUrl(url, new TimeSpan(365, 0, 0)).Preload().RunAsync();