Hes*_*han 5 c# windows-phone windows-runtime windows-store-apps windows-phone-8.1
我的WP 8.1商店应用程序表现得非常奇怪.当我快速离开然后回来时,应用程序恢复事件会按预期触发.但是如果我将应用程序保留在后台一段时间并且何时返回,应用程序将触发Constructor和OnNavigatedTo事件而不是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 Music应用程序的行为与此类似.希望在下一版本的Windows Phone中,将解决此问题.
仅供参考,这是MSDN的应用程序生命周期图(我建议您阅读此页面以获取有关应用程序生命周期的更多信息):

"恢复"仅发生在从暂停状态到运行状态.
| 归档时间: |
|
| 查看次数: |
2075 次 |
| 最近记录: |