在Xamarin.iOS中使用的Akavache的最新版本(6.0.20)似乎部分被破坏了?

时间:2018-09-07 23:01:11

标签: c# xamarin.ios akavache

我最初试图使用BlobCache.LocalMachine.LoadImageFromUrl(someURL)来获取和缓存图像,但是我发现它 在我调用此方法后刚刚停止响应。 (是的,我设置了BlobCache.ApplicationName,甚至调用了BlobCache.EnsureInitialized(),并且链接程序未剥离SQL3库。)因此,我做了一些实验,试图找出问题所在。 经过几个小时的测试,我发现在我的情况下只有这些方法才有效:

1。

BlobCache.LocalMachine.DownloadUrl(someURL).Wait(); // Can fetch the right image file but it won't store it into cache; The cache disappears if I restart the app
var image = BlobCache.LocalMachine.LoadImage(someURL).Wait().ToNative(); // This part is good

2。

BlobCache.LocalMachine.InsertObject<string>(key, value).Wait();
var value = BlobCache.LocalMachine.GetObject<string>(key).Wait(); // This functions well; I can get the correct value right away after a restart

此外,每当我在代码中使用await时,它就会陷入无限死锁(?)。说var value = await BlobCache.LocalMachine.GetObject<string>(key);。 (当然,我已经导入了System.Reactive.Linq。)对我来说,可能的解决方法是改用wait()subscribe()

BlobCache.LocalMachine.GetOrFetchObject()也不起作用。

P.S .:我在VS Mac上安装了最新的Xamarin.iOS和Mono。

那么,在Xamarin.iOS中使用Akavache时,我是否错过任何重要的事情吗? 请赐教。

我发布了一个问题here

0 个答案:

没有答案