【发布时间】:2016-09-05 19:09:49
【问题描述】:
我为通用 Windows 平台(适用于 Windows 10 桌面)创建了应用程序。我在应用程序中使用 DispatcherTimer。定时器运行异步方法。当应用程序在前台时,它可以工作。 但是应用程序是后台(我最小化一个窗口)异步方法不起作用。我该如何解决这个问题?
【问题讨论】:
标签: c# asynchronous timer win-universal-app uwp
我为通用 Windows 平台(适用于 Windows 10 桌面)创建了应用程序。我在应用程序中使用 DispatcherTimer。定时器运行异步方法。当应用程序在前台时,它可以工作。 但是应用程序是后台(我最小化一个窗口)异步方法不起作用。我该如何解决这个问题?
【问题讨论】:
标签: c# asynchronous timer win-universal-app uwp
当你的应用不在前台运行,需要执行任务时,众所周知,我们需要为应用实现background tasks。
但是,UWP 中的后台任务是轻量级的。由于内存限制,电池寿命问题,我不确定你需要什么可以在 UWP 的后台任务中完成。
这并不意味着你不能在后台任务中使用DispatcherTimer,但后台任务被限制在30秒的挂钟使用时间,并且它可以被系统终止,例如当它抛出时-内存异常。所以,如果你想每分钟执行一次你的任务,那它就行不通了。
@ibebbs 提到的TimerTrigger 的最小时间间隔为 15 分钟,所以我也不确定这是否可以在您的场景中使用。
问题是你需要在后台任务中做什么,多久可以发表评论告诉我们,那么我们可以继续讨论这个问题。
【讨论】:
【讨论】: