WinRT アプリのデバッグ: Suspend イベントが起動しない理由
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 中国語 Web サイトの他の関連記事を参照してください。