我在我的应用程序中添加了数据同步。安装应用程序后,它会提示用户同步数据。在我测试期间,我的记录数量有限,而且工作正常。现在我已经附加了真实数据库,应用程序挂起并在同步期间无响应。关闭应用程序的警报也会显示在Android设备上。
对于同步,我这样做
bool response1 = await syncCustomers();
bool response2 = await syncItems();
if(response1 and response2)
{
do something
}
syncCustomers()和syncItems()都是返回bool的任务。它们从API获取数据,清除现有数据库表并使用新获取的数据填充表。
在同步过程中,会显示活动指示器。当数据集很小时,应用程序保持响应并且指示器继续旋转直到数据同步(这不长)。 但是对于大型数据集,应用程序会挂起并需要关闭。实时数据库中有大约6到7千条记录。
下次启动应用程序时,数据库中存在项目和客户。这意味着数据正确添加。但由于某种原因,该应用程序挂起。
答案 0 :(得分:1)
我想出了一个解决方案。我直接调用上面给出的片段,我认为它在UI线程中运行。现在我在
中运行代码Task.Run(some code);
它完美运行。活动指示器继续旋转,应用程序不会挂起。