[Metro Style Apps] Ciclo di vita e debug degli eventi Suspend e Resume

Ciclo di vita

Un’applicazione Windows 8 Metro Style ha il seguente ciclo di vita:

image

Quando viene attivata, in generale l’applicazione esegue il metodo OnLaunched(LaunchActivatedEventArgs args), ma è importante sapere che vi sono altri metodi che vengono chiamati nel caso in cui, ad esempio, l’applicazione viene lanciata per aprire un file (come avviene nel caso in cui è stata associata una estensione di file alla nostra applicazione e un file viene aperto). Per gestire questi casi è possibile fare l’override del metodo OnActivated( IActivatedEventArgs args ) o di altri metodi più specifici quali, ad esempio, OnFileActivated, OnSearchActivated, o OnFileOpenPickerActivated. Per maggiori informazioni su veda su MSDN: OnActivated method.

Quando l’applicazione viene sospesa viene generato l’evento (di tipo SuspendingEventHandler) Suspending e allo stesso modo, quando l’applicazione viene riattivata dallo stato di sospensione, viene generato l’evento (di tipo EventHandler<object>) Resuming.

Viceversa, quando l’applicazione viene terminata, non viene generato alcun evento ne eseguito alcun metodo (di cui si possa fare l’override) quindi non si ha alcun controllo ne possibilità di gestire quest’ultimo cambio di stato. D’altra parte un’applicazione prima di essere terminata deve necessariamente passare per lo stato di sospensione, quindi è lì che dobbiamo preventivamente intervenire salvando in ogni caso lo stato dell’applicazione.

E’ importante ricordare che nella gestione dell’evento Suspending la nostra App ha solo 5 secondi a disposizione per poter fare quel che deve fare, dopodiché il sistema operativo la elimina brutalmente.

E questo accade anche durante il debugging!

Fare il debugging degli eventi Suspend e Resume

Per poter debuggare la nostra App, evitando la deadline dei 5 secondi, è necessario evitare di sospendere l’applicazione come utente, utilizzando piuttosto gli appositi comandi forniti da Visual Studio 11.

Per far ciò, basta andare su View | Toolbars, attivare Debug Location

image

e utilizzare i relativi bottoni per sospendere e riattivare l’applicazione

image

image

That’s all folks, happy coding!

«maggio»
domlunmarmergiovensab
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789