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

时间:2012-06-24 17:50:48

标签: windows-8 windows-runtime winrt-xaml

VS2012的默认C#" Metro风格"项目模板包括App.xaml.cs中的代码(在OnLaunched覆盖中),以在暂停和终止后恢复应用程序状态。此代码仅在LaunchActivatedEventArgs.PreviousExecutionStateTerminated时运行,即"应用在被暂停后终止。"

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

我尝试过的不能工作的事情:

  • 如果我使用"关闭应用程序"手势(从屏幕顶部拖动到底部),然后下一次运行的PreviousExecutionStateClosedByUser
  • 如果我杀了应用程序 - 使用任务管理器,或者(如果我正在调试)使用"停止" VS工具栏上的按钮 - 然后下一次运行PreviousExecutionStateNotRunning。即使任务管理器将应用程序显示为"已暂停"在我结束任务之前,很明显它比被暂停后终止"的描述更加微妙。
  • 我可以离开我的应用程序,然后打开很多其他Metro风格的应用程序,直到我的应用程序最终被淘汰出局。但即使我打开Windows 8 Release Preview附带的每一个Metro风格的应用程序,显然没有足够的内存压力让Windows终止我的应用程序。 (我假设Windows不太可能终止正在调试的应用程序,所以我在开始屏幕上启动了我的应用程序 - 没有调试器 - 在我尝试之前。)

看来,如果我从我的应用程序切换到StackOverflow窗口几分钟后,我的应用程序最终会被终止,所以也许有一个基于时间的组件。但是,如果我每次都要等待五到十分钟让我的应用程序终止,这是一个相当缓慢的测试周期。

鉴于这是开发人员必须测试的内容,您认为开发人员可以通过一种不错的方式强制应用程序暂停和终止。是否有某种压力测试应用程序与Visual Studio一起提供足够的内存压力? Visual Studio中是否有一些菜单项会强制终止我的应用程序?我们该如何测试呢?

4 个答案:

答案 0 :(得分:27)

在Visual Studio 2012中,当您进行调试时,会出现“Suspend”,“Resume”和“Suspend and Shutdown”按钮。默认情况下,您应该在调试应用程序时看到按钮。有关调试过程生命周期的更多信息,请参阅this article

enter image description here

答案 1 :(得分:6)

我无法找到Suspend控件,因为VS没有为我显示第二行工具栏。事实证明,这是在“调试位置”工具栏上。确保打开此工具栏,然后您应该能够找到Suspend控件(它确实可以解决OP的问题)。

答案 2 :(得分:3)

如果默认情况下不显示,请转到工具 - > CUSTOMIZE,在工具栏选项卡下,选中“调试位置”

答案 3 :(得分:0)