UWP - 应用程序处于后台状态和异步方法

时间:2016-09-05 19:09:49

标签: c# asynchronous timer win-universal-app uwp

我为通用Windows平台创建了应用程序(适用于Windows 10桌面)。我在app中使用DispatcherTimer。定时器运行异步方法。当应用程序在前台它是工作。 但应用程序是后台(我最小化窗口)异步方法不起作用。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

当您的应用未在前台运行并且需要执行任务时,众所周知,我们需要为应用实施background tasks

,UWP中的后台任务是轻量级的。由于内存限制,电池寿命问题,我不确定您在UWP的后台任务中可以做什么。

这并不意味着您无法在后台任务中使用DispatcherTimer,但后台任务仅限于30秒的挂钟使用,并且可以由系统终止,例如当它抛出内存不足的异常时。所以,如果你想每隔一分钟执行一次任务,那么它将无法工作。

@ibebbs提到的TimerTrigger的最短时间间隔为15分钟,所以我也不确定这可以在你的场景中使用。

问题是你需要在后台任务中做什么,以及你可以多久发表一条评论来说明问题,我们可以继续讨论这个问题。

答案 1 :(得分:1)

您应该Create and register a background task that runs in a separate process并使用TimerTrigger以所需的时间间隔调用它。