Xamarin.Forms Ciclo di vita dell'app
La classe di base Application
offre le funzionalità seguenti:
- Metodi
OnStart
del ciclo di vita ,OnSleep
eOnResume
. - Eventi
PageAppearing
di spostamento pagina ,PageDisappearing
. - Eventi
ModalPushing
di spostamento modali ,ModalPushed
,ModalPopping
eModalPopped
.
Metodi del ciclo di vita
La classe Application
contiene tre metodi virtuali che possono essere sottoposti a override per rispondere alle modifiche del ciclo di vita:
OnStart
- chiamato all'avvio dell'applicazione.OnSleep
- chiamato ogni volta che l'applicazione passa in background.OnResume
- chiamato alla ripresa dell'applicazione, dopo il passaggio in background.
Nota
Non è disponibile alcun metodo per la terminazione dell'applicazione. In circostanze normali, ovvero non in caso di arresto anomalo, la terminazione dell'applicazione verrà eseguita dallo stato OnSleep, senza l'invio di notifiche aggiuntive al codice.
Per rilevare quando questi metodi vengono chiamati, implementare una chiamata WriteLine
in ognuno (come illustrato di seguito) ed eseguire test in ogni piattaforma.
protected override void OnStart()
{
Debug.WriteLine ("OnStart");
}
protected override void OnSleep()
{
Debug.WriteLine ("OnSleep");
}
protected override void OnResume()
{
Debug.WriteLine ("OnResume");
}
Importante
In Android il metodo OnStart
verrà chiamato a rotazione oltre che al primo avvio dell'applicazione, se l'attività principale non include ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation
nell'attributo [Activity()]
.
Eventi di spostamento delle pagine
La classe Application
include due eventi che inviano notifica della comparsa e della scomparsa delle pagine:
PageAppearing
- Evento generato quando una pagina sta per apparire sullo schermo.PageDisappearing
- Evento generato quando una pagina sta per scomparire dallo schermo.
Questi eventi possono essere usati in scenari in cui si vuole tenere traccia delle pagine man mano che vengono visualizzate sullo schermo.
Nota
Gli eventi PageAppearing
e PageDisappearing
vengono generati dalla classe di base Page
subito dopo gli eventi Page.Appearing
e Page.Disappearing
, rispettivamente.
Eventi di spostamento modale
Esistono quattro eventi nella classe Application
, ognuno con argomenti propri, che consentono di rispondere alla visualizzazione e alla chiusura di pagine modali:
ModalPushing
- generato in caso di push modale di una pagina.ModalPushed
- generato dopo il push modale di una pagina.ModalPopping
- generato in caso di prelievo modale di una pagina.ModalPopped
- generato dopo il prelievo modale di una pagina.
Nota
Gli argomenti dell'evento ModalPopping
, di tipo ModalPoppingEventArgs
, contengono una proprietà Cancel
. Quando Cancel
è impostata su true
il prelievo modale viene annullato.