2017-06-04 82 views
0

我有一个Xamarin窗体应用程序使用自定义渲染器的图像。我已经优化了这些图像,以使Bitmap只与内存中的大约600kb内存在一起,InSampleSize,但我遇到了弹出式窗口问题。也就是说,当我使用我的MasterDetailPage中的这些图像打开页面时,图像加载速度很快,但您仍然可以在页面显示后的100-200毫秒内看到它们。Xamarin窗体与自定义渲染器混合使用

这里是我如何加载页面中的我MasterDetailPage

private void Button_Clicked(object sender, EventArgs e) 
{ 
    var temp = new NavigationPage(new Pages.HomePage()); 
    Detail = temp; 
    IsPresented = false; 
} 

我想要做的是,如果可能的话,之前它被导航到用户界面中的掩盖预渲染的页面弹出式或任何其他解决方案基本上将其彻底删除。

回答

0

通常在Xamarin窗体人使用FFImageLoading

  • Xamarin.iOS,Xamarin.Android,Xamarin.Forms和Windows(WinRT中,UWP) 支持
  • 配置的磁盘和内存缓存
  • 多使用相同图像源(网址,路径,资源)的图像视图将只使用缓存在内存中的一个位图(较少的内存使用量)
  • 重复删除类似的下载/加载请求。 (如果100项类似的要求在同一时间到达,然后将进行一个真正的负载,而99人 会等)
  • 错误和加载占位符支持
  • 图像可以自动向下取样,以指定的大小(使用更少的内存)
  • 这是由毕加索灵感命名SVG & WebP的支持
  • 图片加载淡入动画流畅API支持
  • 可以重试图片下载(RetryCount重,RetryDelay)
  • Android的位图优化。通过尽可能不使用透明通道来节省50%的内存。
  • 转换的支持BlurredTransformation CircleTransformation, RoundedTransformation,CornersTransformation,CropTransformation ColorSpaceTransformation,GrayscaleTransformation, SepiaTransformation,TintTransformation FlipTransformation, RotateTransformation
  • 支持自定义转换(本地平台 ITransformation实现)

Here你可以找到一些文档