在Xamarin Forms应用程序中包含数千个图像

时间:2016-02-08 18:31:17

标签: android ios image xamarin xamarin-forms

我为我工作的公司提供了一个xamarin表单项目。我有两种方式使用6000多个图像:缩略图页面和全尺寸页面。我有缩略图和全尺寸图像。缩略图页面一次显示12个产品,但它位于旋转木马页面中,因此在旋转木马中最多可包含18个内容页面。

我尝试了三种保存/访问图像的方法:

  1. 将它们包含为bundle / android资源。这是最好的,但需要永远建立项目,在Android上将意味着我必须使用扩展文件。
  2. 下载产品列表时包含数据库中的二进制图像。导致应用程序在下载时随机崩溃。
  3. 从网上下载所有文件。这是有效的,但在Android和iOS上,缩略图屏幕慢慢爬行,一半时间在Android上崩溃。
  4. 有没有人必须做类似的事情,如果是这样,你决定采取什么方式?不幸的是,这个应用程序必须离线可用,所以我需要本地图像。我有时间紧张,所以任何帮助都会受到赞赏!!

1 个答案:

答案 0 :(得分:0)

我有一天会遇到类似的问题并且理解它在标准Image类中没有成功,并且拥有如此大量的图像(没有内存缓存,没有任务排队等)。然后我做了CachedImage。它基本上是Image的API兼容替代品,具有高级缓存功能(以及一些其他功能)。你可以试试。

请记住使用:

  • 下采样功能:这样可以调整图像大小以查看大小以节省内存
  • 缓存功能(默认情况下已启用,但不包括StreamImageSource,您必须为其提供自定义缓存密钥工厂)
  • 使用自定义缓存键的FileImageSource(app dir)或StreamImageSource(例如,来自图像数据库) https://github.com/molinch/FFImageLoading(请参阅WIKI了解文档)