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

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

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

我试过的事情不行:

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

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

鉴于这是开发人员必须测试的,您可能会认为开发人员会有一个很好的简单方法来强制应用程序暂停和终止。有没有一些压力测试应用程序与Visual Studio一起强制有足够的记忆压力? Visual Studio中是否有一些菜单项将强制终止我的应用程序?我们该如何测试呢?

最佳答案
在Visual Studio 2012中,当您调试时,会出现“暂停”,“恢复”和“挂起和关闭”按钮。默认情况下,您在调试应用程序时应该会看到按钮。有关调试过程生命周期的更多信息,请参阅this article

转载注明原文:windows-8 – 如何模拟我的Metro应用程序被终止? - 代码日志