如何配置MvvmCross以保留缓存的图像

Eug*_*nyk 4 iphone xamarin.ios ios mvvmcross

这是一个问题,它跟随来自http源的未答复的一个图像缓存.

我使用了MvvmCross样本中的代码,我能够运行MvxImageViewLoader我的项目.它为应用程序的当前实例缓存图像,但如果我重新启动它,则所有图像将再次重新加载.我想让它们在iPhone的Library\Caches文件夹中保持不变.

我注意到在应用程序日志中有一行:

mvx: Warning:   2.25 Persistent download cache will not be available - no text serializer available

它来自框架MvxFileDownloadCache类,因为IoC容器没有用于IMvxTextSerializer接口的注册类.所以我假设如果我为这个接口定义我的实现,那么具有永久缓存的解决方案将以某种方式工作.虽然界面的性质似乎可疑用于将图像保存到磁盘,因为它使用对象序列化和字符串进行反序列化操作.所以我真的很困惑,无法意识到要走哪条路.

Stu*_*art 5

正如我在回答未解答的问题时所回答的那样,在这两个N + 1视频中显示了来自http的wp,winrt,xamarin.android和xamarin.touch上的图像:

第二个下载并使用插件nuget包在会话中保留图像:

  • MvvmCross.HotTuna.Plugin.DownloadCache
  • MvvmCross.HotTuna.Plugin.File
  • MvvmCross.HotTuna.Plugin.Json

我其实很困惑,无法实现哪条路走.

显然,MvvmCross的下载代码只是一种实现 - 并且有一些证据表明基于Mono- httpwebrequest的下载不是100%可靠 - 请参阅MvxDynamicImageHelper不可靠.用户可以自由地实现他们自己的图像下载插件 - 例如使用来自iOS的 iOS代码:从url下载图像并保存在设备中.