【发布时间】:2016-06-02 06:27:29
【问题描述】:
我的后台任务需要很长时间才能完成,而操作系统正在杀死它。我正在尝试在线同步我的联系人,这就是我正在做的事情:
从电话簿中获取所有联系人(大约需要 1 秒)
将它们上传到服务器(约 2 秒)
从服务器检索所有联系人(~2-3 秒)
从 ContactStore 中删除所有联系人(ContactStore.DeleteAsync 有时需要 1 分钟才能完成)
创建一个 ContactStore 并导入所有联系人)(约 1-2 分钟,1000 个联系人)
我有大约 100 个联系人,它运行良好,但我想用大约 1000 个联系人进行测试,但并不是每次都完成。我正在使用MaintenanceTrigger,但我认为对于后台任务来说仍然太多了,但我需要对此进行确认。应该允许 MaintenanceTrigger 任务执行更多资源密集型任务,那么为什么操作系统会杀死我的后台任务?
【问题讨论】:
-
真的很难在没有看到一些代码的情况下回答这个问题。想到的事情可能是您的后台任务使用了过多的 cpu、内存,或者需要很长时间才能完成,所以手机正在杀死它
-
如果我使用维护触发器,是否应该允许任务完成,即使它需要很长时间?手机正在充电,所以如果它是一项资源密集型任务应该不是问题
-
@thewindev 请编辑您的问题,以明确表示 1000 个联系人不是 1-2 分钟...而是您后来指出的 12 分钟...您的问题具有误导性和混淆性未来的读者。
-
其实,有的需要2-3分钟,有的需要12分钟
标签: c# windows-phone-8.1 windows-phone background-task