首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在WP8.1中恢复应用程序时未触发的App恢复事件

在WP8.1中恢复应用程序时未触发的App恢复事件
EN

Stack Overflow用户
提问于 2014-11-07 05:02:28
回答 2查看 2.1K关注 0票数 5

我的WP8.1商店应用程序的行为非常奇怪。应用程序恢复事件如预期的那样,当我快速导航离开,然后回来。但是,如果我将应用程序保持在后台一段时间,当返回时,应用程序将触发构造函数和OnNavigatedTo事件,而不是恢复事件,并具有黑色的“恢复.”。屏幕只有几秒钟(约4秒),.This是一个带有BackgroundAudio任务的应用程序。即使是MS的示例BackgroundAudio应用程序也是这样。有人知道这是怎么回事吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-11-07 05:49:31

我正在建立一个WP8.1应用程序,它使用背景音频任务以及。你解释的一切也发生在我身上。

如果你看到“恢复.”接下来的几秒钟,这可能意味着你的应用程序在第一次被挂起后被操作系统终止了。在这种情况下,恢复事件不会触发,因为您的应用程序被完全关闭,必须重新启动。“恢复”通常是指当暂停(而不是终止)应用程序恢复执行时。

当您的应用程序被终止,然后从应用程序开关“恢复”时,您的Application.OnLaunched()方法覆盖将被e.PreviousExecutionState == ApplicationExecutionState.Terminated调用。在这种方法中,您应该检查以前的执行状态是否被终止,如果是的话,将应用程序恢复到暂停之前的状态。这让用户产生了一种错觉,即应用程序从未被终止,他们可以恢复当时的工作。

如果您创建一个新的8.1项目(例如),您将看到应用程序生命周期事件在App.xaml.cs中得到了正确的处理。

应用程序恢复事件如预期的那样,当我快速导航离开,然后回来。

这是正确的行为。在应用程序被操作系统挂起之前,它需要几秒钟的时间,所以如果您在操作系统挂起之前恢复应用程序,那么它将从内存中恢复。

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

FYI下面是来自MSDN的应用程序生命周期图(我建议您阅读此页面以获得有关应用程序生命周期的更多信息):

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

票数 4
EN

Stack Overflow用户

发布于 2015-08-12 12:41:41

每当应用程序从后台恢复时。它可以有两种状态:

  1. 挂起:成功恢复,直接导航到OnNavigatedTo;构造函数将不被调用
  2. 终止:应用程序将不会从您离开的页面的前一状态开始,而是将重新加载该页;此时,您需要在应用程序挂起时保存状态,以便现在恢复它。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26794400

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档