0

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

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

如何在单独的线程上执行这些数据库调用并在完成时更新视图。我假设此功能存在于 mvvmcross 中,我只是无法找到有关它的文档或任何教程。

任何为我指明正确方向的帮助将不胜感激。谢谢,JH

4

1 回答 1

0

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


或者,如果您有一个允许在您的库中使用 TPL 的设置/配置,那么您可以使用TaskFactoryorasyncawait来提供一些后台线程 - 这可能是更好的长期路线,但获得此设置并开始工作可能需要更长的时间,因为 Xamarin 的异步支持非常新,而且它的 PCL 支持正在发生变化。

于 2013-09-03T06:31:27.727 回答