【问题标题】:Can a WinRT background task be long-lived if within CPU and Network limits?如果在 CPU 和网络限制内,WinRT 后台任务可以长期存在吗?
【发布时间】:2012-11-12 23:28:16
【问题描述】:

Microsoft's documentation 状态:

后台任务是指不消耗大量资源的短期任务。

它还说:

锁屏上的每个应用每 15 分钟获得 2 秒的 CPU 时间,可供应用的所有后台任务使用。在 15 分钟结束时,锁定屏幕上的每个应用程序都会获得另外 2 秒的 CPU 时间供其后台任务使用。

  • 我需要每两分钟运行一次后台任务来更新我的动态磁贴。
  • 我的应用是锁屏应用。
  • 计算在 CPU 和网络使用限制范围内

我可以创建一个永久的后台任务(例如,轮询 Web 服务并提取信息、等待和循环的任务)以每两分钟创建一个 OneShot TimeTrigger 还是有更好的方法?

我对后台任务选项的担忧是,运行时是否会认为任务在睡眠时处于非活动状态并关闭它,或者像在 15 分钟内可以更新动态磁贴的次数有限制...

【问题讨论】:

  • 我大大缩短了你的问题。我试图保持竞争,同时让潜在的回答者更容易快速掌握你想要完成的事情。如果我没有做对,请随时回滚或改进。

标签: windows-8 windows-runtime background-process


【解决方案1】:

是的,如果你说的长寿是指不到 25 分钟。

时间触发器的执行频率不能超过 15 分钟。创建一个在 2 分钟内执行的 OneShot 触发器是一个有趣的想法,应该可以工作。是的,后台任务可以注册其他后台任务来保持这个链条的运行。如果用户的机器在执行时关闭,它将稍后排队。

话虽如此,频繁更新您的磁贴并使用后台任务并不是一个明智的解决方案。因为,不靠谱。一方面,可以禁用后台任务。但是每 15 分钟,你就会超过你的配额。尝试改用计划磁贴。

【讨论】:

  • 您能否详细说明您的答案?目前尚不清楚您正在回答哪个问题。
  • 标题中的问题是:“如果在 CPU 和网络限制内,winrt 后台任务可以长期存在吗?”答案是肯定的。这是一个古老的问题,我只是不想让它死而无人回答。
  • “短命”一词的意思是“每次运行时都快速执行”。它不是指后台任务生效的时间。一经注册,在未注册前一直有效;如果由于资源限制而受到限制,它可能无法在任何给定的迭代中运行,但一旦配额被重置,它应该仍然有效。
  • Kraig,Windows 和 Phone 中时间后台任务的官方挂钟限制是多少?
  • @JerryNixon-MSFT 在我打开一个问题的页面后,我几乎再也没有读过标题,所以下来回答并看到直接回答标题而不是正文的东西有点让我困惑。显式总是比隐式好。
猜你喜欢
  • 1970-01-01
  • 2018-12-22
  • 1970-01-01
  • 2016-07-02
  • 1970-01-01
  • 2011-11-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多