Xamarin Forms 批量数据插入挂起应用程序

Xamarin Froms Bulk data insertion hangs application

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

为了同步,我正在这样做

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

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

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

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

我想出了一个解决办法。我直接调用了上面给出的代码片段,我认为它是 UI 线程中的 运行。现在我运行代码在

Task.Run(some code);

并且运行完美。 activity 指示灯一直在旋转,应用程序没有挂起。