Maison >développement back-end >C++ >Pourquoi l'événement de suspension de mon application WinRT ne se déclenche-t-il pas pendant le débogage ?
Débogage des applications WinRT : pourquoi l'événement de suspension peut ne pas se déclencher
L'événement Suspending
est critique pour les applications Windows Phone 8.1, permettant la préservation de l'état avant la suspension. Cependant, lors du débogage, cet événement peut ne pas se déclencher, ce qui entraîne des difficultés de test.
Considérez cet exemple :
<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>
Les points d'arrêt dans OnSuspending
restent intacts pendant le débogage. C'est prévu ; l'événement Suspending
est conçu pour les scénarios de suspension sans débogage.
Débogage et suspension : un examen plus approfondi
Windows Phone 8.1 empêche le déclenchement de l'événement Suspending
pendant le débogage afin de maintenir l'activité de l'application à des fins d'inspection. Cela nécessite des méthodes de test alternatives.
Pour simuler une suspension, utilisez la barre d'outils Emplacement de débogage de Visual Studio. Sélectionnez « Suspendre » dans la liste déroulante Événements du cycle de vie pour déclencher manuellement l'événement. Après les ajustements, sélectionnez « Reprendre » pour reprendre l'exécution de l'application. Cela permet de tester la logique de gestion des suspensions sans déployer l'application.
Stratégies efficaces de tests de suspension
Des tests approfondis de gestion des suspensions nécessitent un environnement sans débogage. Le déploiement sur un émulateur ou un appareil physique simule une suspension et une reprise dans le monde réel, vérifiant ainsi le comportement de l'application dans ces conditions.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!