【问题标题】:Xamarin Froms Bulk data insertion hangs applicationXamarin Forms 批量数据插入挂起应用程序
【发布时间】:2017-10-04 05:31:21
【问题描述】:

我在我的应用程序中添加了数据同步。安装应用程序时,它会提示用户同步数据。在我的测试期间,我的记录数量有限,并且运行良好。现在我已经附加了真实的数据库,应用程序挂起并且在同步期间变得无响应。关闭应用程序的提醒也会显示在 Android 设备上。

为了同步,我正在这样做

bool response1 = await syncCustomers();
bool response2 = await syncItems();
if(response1 and response2)
{
     do something
}

syncCustomers() 和 syncItems() 都是返回 bool 的任务。他们从 API 中获取数据,清除现有的数据库表并使用新获取的数据填充表。

在同步过程中,会显示一个活动指示器。当数据集较小时,应用程序会保持响应,并且指示器会继续旋转,直到数据同步(时间不长)。 但是对于大型数据集,应用程序会挂起并且需要关闭。实时数据库中大约有 6 到 7 千条记录。

当我下次启动应用程序时,项目和客户都存在于数据库中。这意味着数据已正确添加。但由于某种原因,应用程序挂起。

【问题讨论】:

    标签: multithreading xamarin.forms async-await entity-framework-core ef-bulkinsert


    【解决方案1】:

    我想出了一个解决方案。我直接调用了上面给定的 sn-p,我相信它是在 UI 线程中运行的。现在我正在运行代码

    Task.Run(some code);
    

    它运行完美。活动指示器一直在旋转,并且应用程序没有挂起。

    【讨论】:

      猜你喜欢
      • 2015-02-06
      • 1970-01-01
      • 2020-03-08
      • 2016-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多