windows-8 - 如何模拟我的 Metro 应用程序被终止?

标签 windows-8 windows-runtime winrt-xaml

VS2012 的默认 C#“Metro 风格”项目模板包含 App.xaml.cs 中的代码(在 OnLaunched 覆盖中),用于在挂起并终止后恢复应用程序状态。此代码仅在 LaunchActivatedEventArgs.PreviousExecutionState 时运行是 Terminated ,即“应用程序在暂停后被终止。”

如何强制暂停和终止我的应用程序,以便我可以在我的应用程序中测试此暂停/恢复功能?

我尝试过但不起作用的事情:

  • 如果我使用“关闭应用”手势(从屏幕顶部拖动到底部),则下一次运行的 PreviousExecutionStateClosedByUser
  • 如果我终止应用程序 - 使用任务管理器,或者(如果我正在调试)使用 VS 工具栏上的“停止”按钮 - 那么下一次运行的 PreviousExecutionState未运行。即使任务管理器在我结束任务之前将应用程序显示为“已暂停”,情况也是如此,因此显然它比“暂停后终止”的描述更加微妙。
  • 认为我可以放弃我的应用,然后打开许多其他 Metro 风格的应用,直到我的应用最终被踢出。但即使我打开 Windows 8 Release Preview 附带的每个 Metro 风格应用程序,显然内存压力也不足以让 Windows 终止我的应用程序。 (我认为 Windows 不太可能终止正在调试的应用程序,因此在尝试此操作之前,我从“开始”屏幕启动了我的应用程序(没有调试器)。)

确实,如果我离开我的应用程序并在 StackOverflow 窗口中输入几分钟,我的应用程序最终将被终止,所以它可能有一个基于时间的组件。但是,如果我每次都必须等待五到十分钟才能终止我的应用程序,那么这是一个相当慢的测试周期。

鉴于这是开发人员必须测试的内容,您可能会认为开发人员有一种很好、简单的方法来强制应用程序暂停并终止。 Visual Studio 附带的某种压力测试应用程序是否会施加足够的内存压力? Visual Studio 中是否有某些菜单项会强制终止我的应用程序?我们应该如何测试这个?

最佳答案

在 Visual Studio 2012 中,当您进行调试时,有“挂起”、“恢复”和“挂起和关闭”按钮。默认情况下,您在调试应用程序时应该会看到这些按钮。请参阅this article有关调试进程生命周期的更多信息。

enter image description here

关于windows-8 - 如何模拟我的 Metro 应用程序被终止?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11179791/

相关文章:

c# - 如何重新编译 C# 程序以在 ARM CPU 上运行?

xaml - 当指针/鼠标结束时如何更改 gridview 项目边框

c# - 使用 WinRT 文件夹选择器仅显示文件夹

c++ - Shell执行未定义的错误

c# - 在堆栈面板中滚动列表框?

javascript - 使用 WinJS 在 FlipView 中显示 PageControl

xaml - 一旦设置了所有依赖属性,是否会触发一个事件?

windows-8 - WinRT 中等效的路径几何裁剪

c# - 关闭非按钮弹出窗口?

.net - WinRT中的WCF客户端击中SocketError.AccessDenied(但与Fiddler一起捕获流量)