WinJS应用程序在暂停时仍在运行

pra*_*abu 2 windows-8 winjs

我有一个WinJS应用程序,其中包含一个计时器对象.我从msdn文档中读到,我的应用程序将在用户导航到另一个应用程序5秒后暂停,之后我的应用程序将停止运行.

但是,在挂起状态下测试应用程序时,我注意到计时器一直在运行.我试过暂停申请

  1. 单击VS2012调试窗口中的"挂起"按钮
  2. 手动运行我的应用程序,导航到另一个应用程序并等待一段时间(10分钟)将其暂停.

但在这两种情况下,计时器都会继续运行.我预计它会在暂停时停止并在恢复时同时恢复,但它会正确显示已用时间.

如果有人能解释这种行为我会很感激.我正在运行Windows 8 Release Preview.

谢谢.

Dom*_*ton 6

应用程序暂停后,所有计时器都将暂停.我刚用这段代码验证了它:

function timerFired() {
    var container = document.getElementById("timeroutput");
    var content = document.createElement("div");
    content.textContent = Date.now();

    container.appendChild(content);
}

setInterval(timerFired, 1000);
Run Code Online (Sandbox Code Playgroud)

当应用程序进入后台并暂停时(在暂停前大约需要15秒),文本将被停止附加到.

注意:

  • 在调试器下,应用程序不会自动暂停,您必须单击暂停按钮(正如您所说的那样).
  • 如果您在暂停后激活应用程序(例如,单击它,或切换回它),如果暂停的时间长于计时器间隔,则计时器将立即执行
  • 如果您正在正确播放背景音频,那么您的计时器仍然会运行,因为您在播放背景音频时不会被暂停