当应用程序在 WP 8.1 商店应用程序中恢复时,应用程序恢复事件不会触发

2024-02-10

我的 WP 8.1 商店应用程序的行为非常奇怪。当我快速离开然后返回时,应用程序恢复事件会按预期触发。但是,如果我将应用程序保留在后台一段时间,然后返回时,应用程序将触发 Constructor 和 OnNavigateTo 事件而不是 Resuming 事件,并且黑色的“Resuming...”屏幕持续几秒钟(大约 4 秒) .这是一个带有BackgroundAudio任务的应用程序。即使是来自 MS 的示例 BackgroundAudio 应用程序也有这样的行为。有人知道这里出了什么问题吗?


我正在构建一个 WP 8.1 应用程序,它也使用后台音频任务。你解释的一切也发生在我身上。

如果您看到“正在恢复...”几秒钟,则可能意味着您的应用程序在先挂起后被操作系统终止。在这种情况下,Resuming 事件不会触发,因为您的应用程序已完全终止并且必须重新启动。 “恢复”通常是指暂停(未终止)的应用程序恢复执行。

当您的应用程序终止然后从应用程序切换器“恢复”时,您的Application.OnLaunched()方法重写将被调用e.PreviousExecutionState == ApplicationExecutionState.Terminated。在此方法中,您应该检查之前的执行状态是否已终止,如果是,则将应用程序恢复到挂起之前的状态。这给用户一种错觉,认为应用程序从未终止,他们可以恢复当时正在做的事情。

例如,如果您创建一个新的 Pivot App Windows Phone 8.1 项目,您将看到应用程序生命周期事件在App.xaml.cs.

当我快速离开然后返回时,应用程序恢复事件会按预期触发。

这是正确的行为。应用程序进入后台后,需要几秒钟的时间才能被操作系统挂起,因此,如果您在操作系统挂起应用程序之前恢复应用程序,那么它将简单地从内存中恢复。

我不确定为什么后台音频应用程序更容易被终止。我什至发现 Xbox 音乐应用程序的行为也类似。希望在下一版本的 Windows Phone 中,这个问题能够得到解决。


仅供参考,这是应用程序生命周期的图表MSDN http://msdn.microsoft.com/en-au/library/windows/apps/hh464925.aspx(我建议您阅读此页面以获取有关应用程序生命周期的更多信息):

“恢复”仅发生在从挂起状态到运行状态之间。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当应用程序在 WP 8.1 商店应用程序中恢复时,应用程序恢复事件不会触发 的相关文章

随机推荐