MVVMCross View被sqlite调用阻止

时间:2013-09-03 00:41:23

标签: mvvmcross

我正在尝试使用mvvmcross和Portable类库构建一个相当简单的基于sqlite数据库的移动应用程序。我运行的数据库相当大,所以查询它需要足够的时间,我不希望在运行查询时阻止UI。

我目前设置的方式是基于mvvmcross n + 1教程 n=10教程的几个类。我有两个服务来管理两个实体的查找。

如何在单独的线程上执行这些数据库调用,并在完成时更新视图。我认为这个功能存在于mvvmcross中我只是无法专门跟踪文档或其中的任何教程。

任何帮助我指向正确方向的人都会非常感激。 谢谢, JH

1 个答案:

答案 0 :(得分:0)

便携式类库确实允许您访问ThreadPool - 所以您可以使用它来将工作编组到后台线程上? http://msdn.microsoft.com/en-us/library/system.threading.threadpool.queueuserworkitem.aspx


或者,如果您的设置/配置允许在您的库中使用TPL,那么您可以使用TaskFactoryasyncawait来提供一些背景线程 - 这可能是更好的长期路线,但由于Xamarin的异步支持是非常新的并且它的PCL支持正在发生变化,因此最初的设置和工作可能需要更长的时间。