Xamarin FFImageLoading 使用说明
Xamarin FFImageLoading Usage Clarification
我看到我们像下面这样使用 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>
,因此,我用 CachedImage
.
替换了我的 UWP 项目中的所有 Image
实例和 Android 项目中的 ImageView
但是在阅读了 FFImageLoading 文档之后,我也看到了很多
使用 ImageService
加载图像的情况。例如:
ImageService.Instance.LoadUrl(urlToImage).Into(_imageView);
ImageService.Instance.LoadCompiledResource(nameOfResource).Into(_imageView);
...
这两种方式有什么区别?
为什么我要用一个而不是另一个?
FFImageLoading 是一个多平台库。 ImageService.Instance
方法用于将图像加载到本机视图中(如 ImageViewAsync
on Android 或 UIImageView
on iOS)以及一些高级场景。还有在内部使用这些方法的特定于平台的控件,例如:
CachedImage
对于 Xamarin.Forms
MvxCachedImageView
原生 Android/iOS/Windows 或 MVVM Cross
它们允许您使用开箱即用的绑定之类的东西。
我建议您使用特定于平台的控件并使用 ImageService.Instance
调用高级功能。但这完全取决于你。
我看到我们像下面这样使用 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>
,因此,我用 CachedImage
.
Image
实例和 Android 项目中的 ImageView
但是在阅读了 FFImageLoading 文档之后,我也看到了很多
使用 ImageService
加载图像的情况。例如:
ImageService.Instance.LoadUrl(urlToImage).Into(_imageView);
ImageService.Instance.LoadCompiledResource(nameOfResource).Into(_imageView);
...
这两种方式有什么区别?
为什么我要用一个而不是另一个?
FFImageLoading 是一个多平台库。 ImageService.Instance
方法用于将图像加载到本机视图中(如 ImageViewAsync
on Android 或 UIImageView
on iOS)以及一些高级场景。还有在内部使用这些方法的特定于平台的控件,例如:
CachedImage
对于 Xamarin.FormsMvxCachedImageView
原生 Android/iOS/Windows 或 MVVM Cross
它们允许您使用开箱即用的绑定之类的东西。
我建议您使用特定于平台的控件并使用 ImageService.Instance
调用高级功能。但这完全取决于你。