在UWP中,我有一个计时器任务,每15分钟运行一次。 定时器触发器的后台任务仅允许运行30秒。 但是,在某些情况下,我需要后台任务运行超过30秒。 此外,当应用程序处于挂起状态时,这是必需的。 有什么建议可以实现吗?
答案 0 :(得分:3)
对于长时间运行的后台任务,有三个触发器:MaintenanceTrigger
,ApplicationTrigger
和DeviceUseTrigger
。如果需要每15分钟,您可以使用MaintenanceTrigger。其功能与定时器触发相同。但是
使用维护触发器的后台任务仅在系统运行时运行 连接到交流电源。
就像@kennyzx所说的那样,最好让它在30秒内完成,因为后台任务需要lightweight。它有很多额外的资源限制。当内存或电池保持在低水平时,Windows将终止后台任务。例如,我们不应该使用后台任务来处理下载,因为它是长时间操作,我们应该在那种情况下使用BackgroundTransfer。如果我们需要处理一些简单的操作,如推送通知或更新磁贴,后台任务就是完美的。将后台执行保持在最低限度可确保前景应用程序和电池续航时间的最佳用户体验。