【发布时间】: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