我看到我们使用FFImageLoading
,如下所示
var cachedImage = new CachedImage() {
HorizontalOptions = LayoutOptions.Center,
VerticalOptions = LayoutOptions.Center,
WidthRequest = 300,
HeightRequest = 300,
...
Source = <url or asset or resource location>
};
或在XAML中:
<ffimageloading:CachedImage
HorizontalOptions="Center" VerticalOptions="Center"
WidthRequest="300" HeightRequest="300"
DownsampleToViewSize="true"
Source = "<url or asset or resource location>>
</ffimageloading:CachedImage>
,因此,我在我的UWP项目中替换了Image
的所有实例,并使用ImageView
替换了我的Android项目中的CachedImage
。
但是在阅读了FFImageLoading文档后,我也看到了很多
使用ImageService
加载图像的情况。例如:
ImageService.Instance.LoadUrl(urlToImage).Into(_imageView);
ImageService.Instance.LoadCompiledResource(nameOfResource).Into(_imageView);
...
这两种方式有什么区别?
为什么我会使用其中一个?
答案 0 :(得分:2)
FFImageLoading是一个多平台库。 ImageService.Instance
方法用于将图片加载到原生视图(例如Android上的ImageViewAsync
或iOS上的UIImageView
)以及某些高级方案。还有一些特定于平台的控件在内部使用这些方法,例如:
CachedImage
代表Xamarin.Forms MvxCachedImageView
适用于原生Android / iOS / Windows或MVVM Cross 它们允许您使用开箱即用的绑定等东西。
我建议您使用特定于平台的控件,并使用ImageService.Instance
调用来进行高级操作。但这完全取决于你。