> Tech > Tombstoning et état transitoire

Tombstoning et état transitoire

Tech - Par Renaud ROSSET - Publié le 24 avril 2012
email

Le « tombstoning » est certes intéressant en théorie, mais présente un certain nombre de défis.

Tombstoning et état transitoire

Mécanismes et méthodes

Lorsqu’une application utilise ce mécanisme, les seules informations conservées par défaut sur son état sont la pile de retours en arrière, autrement dit la page actuelle sur laquelle se trouve l’utilisateur et celles qu’il a traversées pour en arriver là.

En revanche, il n’y a pas persistance des données que l’utilisateur peut avoir saisies ou modifiées sur toutes ces pages.

Tombstoning et état transitoire

Prenons l’exemple d’une page avec un certain nombre de contrôles TextBox et un contrôle ListBox plein d’éléments. Lorsque l’utilisateur effleure le bouton Start, ouvre une autre application, puis revient à un moment donné à l’application d’origine, il s’attend à ce que le contenu des contrôles TextBox soit identique et à ce que la position de défilement et l’élément sélectionné dans ListBox soient préservés. C’est ce que l’on appelle un état transitoire, qui doit être conservé (persistance) une fois l’application désactivée et être restauré lorsque l’application est activée. D’autres informations, par exemple un document enregistré par un utilisateur, sont considérées comme des données ou un état persistants, car elles doivent survivre à plusieurs sessions d’application.

À partir du diagramme de cycle de vie d’application de la figure 1, vous savez qu’il existe quatre événements sur l’objet Application qui correspondent aux transitions d’état au sein de l’application :

private void Application_Launching(object sender, LaunchingEventArgs e) { }
private void Application_Activated(object sender, ActivatedEventArgs e) { }
private void Application_Deactivated(object sender, DeactivatedEventArgs e) { }
private void Application_Closing(object sender, ClosingEventArgs e) { }

Parmi ceux-ci, les événements Deactivated et Activated sont importants pour gérer le « tombstoning ». Lorsqu’une application passe à l’arrière-plan (l’utilisateur effleure le bouton Start), votre dernière opportunité pour faire persister n’importe quel état transitoire réside dans l’événement Deactivated. Par exemple, le code du listing 1 permettra la persistance d’une propriété ActiveSessionDuration sur l’objet Application.

Dans ce cas, la propriété ActiveSessionDuration conserve la durée d’utilisation réelle de l’application, au lieu de la durée écoulée entre le démarrage de l’application et sa fermeture. Bien évidemment, vous verrez la sortie uniquement si l’application est fermée via le bouton Back. Vous ne la verrez pas si l’application fait l’objet d’un « tombstoning » et n’est jamais réactivée.

Téléchargez cette ressource

Les mégatendances cybersécurité et cyber protection 2024

Les mégatendances cybersécurité et cyber protection 2024

L'évolution du paysage des menaces et les conséquences sur votre infrastructure, vos outils de contrôles de sécurité IT existants. EPP, XDR, EDR, IA, découvrez la synthèse des conseils et recommandations à appliquer dans votre organisation.

Tech - Par Renaud ROSSET - Publié le 24 avril 2012