Application.Suspending Event

Se produit lors des transitions d'application à l'état suspendu depuis un autre état.

Syntaxe


public event SuspendingEventHandler Suspending

Informations sur les événements

Délégué SuspendingEventHandler

Remarques

Le système interrompt votre application chaque fois que l'utilisateur bascule vers une autre application ou le Bureau, et reprend votre application chaque fois que l'utilisateur retourne vers elle. Toutefois, le système peut également arrêter votre application pendant qu'elle est interrompue afin de libérer des ressources. Par conséquent, vous devez gérer l'événement Suspending pour effectuer les opérations suivantes :

  • Préserver l'état de la session utilisateur.
  • Libérer les verrouillages exclusifs sur les ressources.
  • Réduire l'utilisation de la mémoire si possible. Par exemple, sérialisez toutes les données qui sont faciles à reconstruire sous la forme d'un objet lors de la réactivation.
  • Enregistrer l'état de l'application.

L'événement Suspending est la seule indication que votre application recevra avant l'arrêt (s'il se produit). De ce fait, vous devez stocker suffisamment d'état de session (tel que l'article actuellement lu ou la position actuelle de lecture du fichier vidéo) pour recréer la même expérience exacte lors du lancement. L'aide pour les applications de création de contenu doit enregistrer le travail d'un utilisateur précocement et fréquemment, mais aussi valider un enregistrement final pendant le Suspending. L'enregistrement des données avant la suspension est utile, car le gestionnaire d'événements Suspending a seulement 5 secondes pour effectuer son opération.

Si votre application est arrêtée, restaurez l'état de l'application dans une substitution de méthode OnLaunched. Si votre application continue avant qu'elle ne soit terminée, le système restaure automatiquement l'état de l'application. Vous devez gérer l'événement Resuming uniquement si vous devez actualiser tout contenu affiché qui a pu changé pendant l'interruption de l'application, tel que les flux d'informations ou l'emplacement de l'utilisateur.

Exemples

Cet exemple de code illustre un modèle d'utilisation classique de cet événement. Ce code est utilisé par de nombreux exemples XAML, par exemple l'Exemple d'entrée, dans le cadre du code-behind pour le fichier app.xaml. Si vous parcourez les exemples XAML, trouvez le code source des API de la classe SuspensionManager référencées dans ce code.


async protected void OnSuspending(object sender, SuspendingEventArgs args)
{
    SuspendingDeferral deferral = args.SuspendingOperation.GetDeferral();
    await SuspensionManager.SaveAsync();
    deferral.Complete();
}

Configuration requise

Client minimal pris en charge

Windows 8

Serveur minimal pris en charge

Windows Server 2012

Espace de noms

Windows.UI.Xaml
Windows::UI::Xaml [C++]

Métadonnées

Windows.winmd

Voir aussi

Application
OnActivated
Resuming
Activation et reprise des applications

 

 

Afficher:
© 2014 Microsoft