调试 WinRT 应用:为什么挂起事件可能不会触发
Suspending
事件对于 Windows Phone 8.1 应用程序至关重要,它可以在暂停之前保存状态。 但在调试过程中,该事件可能不会触发,导致测试困难。
考虑这个例子:
<code class="language-csharp">/// <summary> /// Initializes the singleton application object. /// </summary> public App() { ... Suspending += OnSuspending; } /// <summary> /// Suspend handling method. /// </summary> private void OnSuspending(object sender, SuspendingEventArgs e) { var deferral = e.SuspendingOperation.GetDeferral(); deferral.Complete(); }</code>
OnSuspending
中的断点在调试过程中保持不变。这是预料之中的; Suspending
事件专为非调试暂停场景而设计。
调试和暂停:仔细观察
Windows Phone 8.1 会阻止在调试时触发 Suspending
事件,以维护应用程序活动以供检查。 这需要替代的测试方法。
要模拟暂停,请使用 Visual Studio 的“调试位置”工具栏。 从生命周期事件下拉列表中选择“暂停”以手动触发事件。 调整后,选择“恢复”以恢复应用程序执行。 这允许在不部署应用程序的情况下测试暂停处理逻辑。
有效的暂停测试策略
彻底的悬浮处理测试需要非调试环境。部署到模拟器或物理设备模拟现实世界的暂停和恢复,验证应用程序在这些条件下的行为。
以上是为什么我的 WinRT 应用程序的挂起事件在调试期间没有触发?的详细内容。更多信息请关注PHP中文网其他相关文章!