为啥没有一个 Windows 10 应用程序处于挂起状态

Posted

技术标签:

【中文标题】为啥没有一个 Windows 10 应用程序处于挂起状态【英文标题】:Why none of Windows 10 App is in Suspended State为什么没有一个 Windows 10 应用程序处于挂起状态 【发布时间】:2015-12-25 00:07:53 【问题描述】:

我对 Windows 10 应用程序生命周期的理解是,当您从一个应用程序切换到另一个应用程序时,操作系统会将第一个应用程序置于挂起模式。 我正在运行几个应用程序,但没有一个处于暂停模式(见下图)。我期待在此处的状态列中看到少数应用程序处于暂停状态。有人可以帮助我了解我在这里可能缺少什么吗?

【问题讨论】:

您在笔记本电脑上运行吗? IIRC 该进程仅在操作系统决定需要时才会暂停(例如,为了节省电池寿命),在桌面上这些限制不适用。 是的,我在使用笔记本电脑。据我记得在 Windows 8 上,一个应用程序曾经在笔记本电脑上挂起过。这是 Windows 10 中的行为变化吗? msdn.microsoft.com/en-ca/library/windows/apps/mt243287.aspx 没有提及应用暂停并非在所有设备上都发生 【参考方案1】:

暂停模式意味着应用程序的内存使用量非常低,但内存使用量不是零。这并不意味着它们也成为后台任务。

暂停允许开发者保存其应用的状态。例如,用户在 1 个 UWP (app1) 和另一个 (app2) 之间切换。然后 App1 有 5 秒的时间来保存应用程序的状态。

对于可能是得分和球员位置的比赛。当用户切换回来时,应用程序将显示游戏的相同位置,而不是重新启动或回到关卡的开头。但是,如果用户从不返回并打开 50 个以上的应用程序,大多数机器(尤其是手机)将终止运行时间较长的任务以释放内存,即您的应用程序。现在,当您的应用程序终止并且用户返回重新启动时,它将恢复相同的状态。

这个第 9 频道的视频详细解释了它 - https://channel9.msdn.com/Series/A-Developers-Guide-to-Windows-10/13

【讨论】:

【参考方案2】:

其实当我最小化应用程序时,它在几秒钟后在任务管理器中显示为暂停。

【讨论】:

以上是关于为啥没有一个 Windows 10 应用程序处于挂起状态的主要内容,如果未能解决你的问题,请参考以下文章

Windows 8/10 API 检测挂起的进程

如果当焦点处于其他应用程序时,如何拦截键盘事件?

Windows 10 通用应用程序挂起崩溃并出现死锁

启动时暂停 Windows 10 应用商店应用

为啥我在更新时间时说windows在与time.windows.com进行同步时出错

我对 debounce axios 请求的实现使承诺永远处于挂起状态,有没有更好的方法?