我的WP8.1商店应用程序的行为非常奇怪。应用程序恢复事件如预期的那样,当我快速导航离开,然后回来。但是,如果我将应用程序保持在后台一段时间,当返回时,应用程序将触发构造函数和OnNavigatedTo事件,而不是恢复事件,并具有黑色的“恢复.”。屏幕只有几秒钟(约4秒),.This是一个带有BackgroundAudio任务的应用程序。即使是MS的示例BackgroundAudio应用程序也是这样。有人知道这是怎么回事吗?
发布于 2014-11-07 05:49:31
我正在建立一个WP8.1应用程序,它使用背景音频任务以及。你解释的一切也发生在我身上。
如果你看到“恢复.”接下来的几秒钟,这可能意味着你的应用程序在第一次被挂起后被操作系统终止了。在这种情况下,恢复事件不会触发,因为您的应用程序被完全关闭,必须重新启动。“恢复”通常是指当暂停(而不是终止)应用程序恢复执行时。
当您的应用程序被终止,然后从应用程序开关“恢复”时,您的Application.OnLaunched()方法覆盖将被e.PreviousExecutionState == ApplicationExecutionState.Terminated调用。在这种方法中,您应该检查以前的执行状态是否被终止,如果是的话,将应用程序恢复到暂停之前的状态。这让用户产生了一种错觉,即应用程序从未被终止,他们可以恢复当时的工作。
如果您创建一个新的8.1项目(例如),您将看到应用程序生命周期事件在App.xaml.cs中得到了正确的处理。
应用程序恢复事件如预期的那样,当我快速导航离开,然后回来。
这是正确的行为。在应用程序被操作系统挂起之前,它需要几秒钟的时间,所以如果您在操作系统挂起之前恢复应用程序,那么它将从内存中恢复。
我不知道为什么后台音频应用程序更容易被终止。我甚至发现Xbox应用程序的行为类似。希望在下一个版本的Windows中,这个问题将得到解决。
FYI下面是来自MSDN的应用程序生命周期图(我建议您阅读此页面以获得有关应用程序生命周期的更多信息):

“恢复”只发生在挂起状态到运行状态之间。
发布于 2015-08-12 12:41:41
每当应用程序从后台恢复时。它可以有两种状态:
OnNavigatedTo;构造函数将不被调用https://stackoverflow.com/questions/26794400
复制相似问题