在应用重新启动时恢复异步循环

时间:2016-10-02 18:24:31

标签: c# multithreading uwp

我有一个UWP应用,需要每隔x秒检查一次新数据(来自网络)。我通过启动一个新的name线程来做到这一点。该应用程序可以在Windows Phone中最小化甚至导航,这将暂停该应用程序。

当用户再次返回应用程序时,如何恢复循环(它似乎仍处于打开状态,同一bufferPartition)?这可以通过在重新启动时重新导航到有问题的async或通过恢复循环来完成。最简单的方法是什么?

1 个答案:

答案 0 :(得分:0)

通常,当您的应用被暂停时,如果您没有取消任务,操作系统就会执行此操作。因此,建议您向任务发送合适的信号,同时保存一些恢复操作的进度。

然而,在UWP中有类似ExtendedExecution的东西 - 它应该允许你的应用在后台运行长达10分钟(据我所知这是电池供电设备的限制 - 不是100%肯定的这个,它当然可能会在各种情况下发生变化)。

尽管如此,我认为在几秒钟内检查更改可能不是一个好主意。也许你可以改变设计并使用专为后台处理而设计的 BackgroundTasks

有关应用状态的大部分信息,您会找到at MSDN