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

Joe*_*ite 15 windows-8 windows-runtime winrt-xaml

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

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

我尝试过的东西不起作用:

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

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

鉴于这是开发人员必须测试的东西,你会认为开发人员有一个很好的,简单的方法来强制应用程序暂停和终止.是否有某种压力测试应用程序与Visual Studio一起提供足够的内存压力?Visual Studio中是否有一些菜单项会强制终止我的应用程序?我们该如何测试呢?

JP *_*oto 27

在Visual Studio 2012中,当您进行调试时,会有"暂停","恢复"和"暂停和关闭"按钮.默认情况下,您应该在调试应用程序时看到按钮.有关调试进程生命周期的更多信息,请参阅此文章.

在此输入图像描述

  • 对于那些想知道如何显示此工具栏的人,请转到视图 - >工具栏 - >调试位置. (7认同)

小智 6

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