In questo articolo vedremo il ciclo di vita di una Activity, cioè da quando l'app o meglio dire, un'Activity, viene caricata fino a quando viene chiusa.
Maggiori informazioni si possono trovare a questo indirizzo (in inglese)
La classe Activity fornisce una serie di chiamate a determinate funzioni che consentono all'Activity stessa di sapere che uno stato è cambiato: che il sistema sta creando, arrestando o riprendendo un'Activity o sta distruggendo il processo in cui risiede l'Activity.
All'interno delle funzioni, si può dichiarare come si comporta l'Activity quando l'utente esce e rientra. Ogni chiamata ad una funzione consente di eseguire lavori specifici appropriati per un determinato cambio di stato. Fare il lavoro giusto al momento giusto e gestire correttamente le transizioni rende l'app più solida e performante.
La classe Activity fornisce un set di base di sette funzioni: L'immagine qui sotto è una rappresentazione visiva di questo ciclo.
onCreate()
È necessario implementare questa funzione, che si attiva quando il sistema crea l' Activity. Infatti ogni progetto che si crea avrà già questa funzione da andare a riempire con il proprio codice.
Questa funzione dovrebbe inizializzare i componenti essenziali dell'Activity: ad esempio, creare viste e associare i dati alle variabili.
Ancora più importante, è qui che è necessario chiamare setContentView() per definire il layout dell'interfaccia utente.
Al termine di onCreate(), la funzione che viene chiamata successivamente è sempre onStart().
onStart()
All'uscita dalla funzione onCreate(), l'Activity entra nello stato avviato e l'Activity diventa visibile all'utente. Questa funzione contiene ciò che equivale ai preparativi finali dell'Activity per venire in primo piano e diventare interattiva per l'utente.
onResume()
Il sistema richiama questa funzione appena prima che l'Activity inizi a interagire con l'utente. A questo punto, l'Activity si trova in primo piano e acquisisce tutti gli input dell'utente. La maggior parte delle funzionalità principali di un'app è implementata nella funzione onResume().
Inoltre onResume() viene chiamata subito dopo onRestoreInstanceState() che è possibile approfondire in questo articolo.
Al termine di onResume(), la funzione che viene chiamata successivamente è sempre onPause().
onPause()
Il sistema chiama la funzione onPause() quando l'Activity perde lo stato attivo ed entra in uno stato di pausa. Questo stato si verifica quando, ad esempio, l'utente tocca il pulsante Indietro o App recenti.
Quando il sistema chiama onPause(), significa tecnicamente che l'Activity è ancora parzialmente visibile, ma il più delle volte indica che l'utente sta uscendo e l'Activity entrerà presto nello stato Interrotto o Ripreso.
Non utilizzare onPause() per salvare i dati dell'applicazione o dell'utente, effettuare chiamate di rete o eseguire transazioni di database ma utilizzare onRestoreInstanceState() che è possibile approfondire in questo articolo.
Al termine di onPause(), la funzione che viene chiamata successivamente è onStop() oppure onResume(), a seconda di cosa succede dopo che l'Activity entra nello di pausa.
onStop()
Il sistema chiama la funzione onStop() quando l'Activity non è più visibile all'utente. Ciò può accadere perché l'Activity viene distrutta, una nuova Activity viene inizializzata o un'Activity esistente sta entrando in uno stato Ripreso e sostituisce l'Activity interrotta. In tutti questi casi, l'Activity interrotta non è più visibile.
Al termine di onStop(), la funzione che viene chiamata successivamente è onRestart(), se l'Activity sta tornando a interagire con l'utente, oppure onDestroy() se l'Activity sta terminando completamente.
onDestroy()
Il sistema richiama questa funzione prima che un'Activity venga distrutta.
Questa funzione è quella finale che l'Activity riceve. onDestroy() viene in genere implementato per garantire che tutte le risorse di un'Activity vengano rilasciate quando l'Activity o il processo che la contiene viene distrutto.
onRestart()
Il sistema richiama questa funzione quando un'Activity in stato di arresto sta per riavviarsi.
onRestart() ripristina lo stato dell'Activity dal momento in cui è stata interrotta.
Al termine di onRestart(), la funzione che viene chiamata successivamente è sempre onStart().
Ecco come si presenta la classe MainActivity all'interno del file MainActivity.kt
Vediamo un esempio pratico per capire come e quando vengono richiamate queste funzioni
Ecco come si presenta il file MainActivity.kt Ecco un video dimostrativo
La prima volta che l'app viene eseguita appariranno i seguenti Toast message:
Per maggiori dettagli vedere questo articolo su come risolvere il problema del riavvio dell'app quando si orienta lo schermo.
Maggiori informazioni si possono trovare a questo indirizzo (in inglese)
La classe Activity fornisce una serie di chiamate a determinate funzioni che consentono all'Activity stessa di sapere che uno stato è cambiato: che il sistema sta creando, arrestando o riprendendo un'Activity o sta distruggendo il processo in cui risiede l'Activity.
All'interno delle funzioni, si può dichiarare come si comporta l'Activity quando l'utente esce e rientra. Ogni chiamata ad una funzione consente di eseguire lavori specifici appropriati per un determinato cambio di stato. Fare il lavoro giusto al momento giusto e gestire correttamente le transizioni rende l'app più solida e performante.
La classe Activity fornisce un set di base di sette funzioni: L'immagine qui sotto è una rappresentazione visiva di questo ciclo.
onCreate()
È necessario implementare questa funzione, che si attiva quando il sistema crea l' Activity. Infatti ogni progetto che si crea avrà già questa funzione da andare a riempire con il proprio codice.
Questa funzione dovrebbe inizializzare i componenti essenziali dell'Activity: ad esempio, creare viste e associare i dati alle variabili.
Ancora più importante, è qui che è necessario chiamare setContentView() per definire il layout dell'interfaccia utente.
Al termine di onCreate(), la funzione che viene chiamata successivamente è sempre onStart().
onStart()
All'uscita dalla funzione onCreate(), l'Activity entra nello stato avviato e l'Activity diventa visibile all'utente. Questa funzione contiene ciò che equivale ai preparativi finali dell'Activity per venire in primo piano e diventare interattiva per l'utente.
onResume()
Il sistema richiama questa funzione appena prima che l'Activity inizi a interagire con l'utente. A questo punto, l'Activity si trova in primo piano e acquisisce tutti gli input dell'utente. La maggior parte delle funzionalità principali di un'app è implementata nella funzione onResume().
Inoltre onResume() viene chiamata subito dopo onRestoreInstanceState() che è possibile approfondire in questo articolo.
Al termine di onResume(), la funzione che viene chiamata successivamente è sempre onPause().
onPause()
Il sistema chiama la funzione onPause() quando l'Activity perde lo stato attivo ed entra in uno stato di pausa. Questo stato si verifica quando, ad esempio, l'utente tocca il pulsante Indietro o App recenti.
Quando il sistema chiama onPause(), significa tecnicamente che l'Activity è ancora parzialmente visibile, ma il più delle volte indica che l'utente sta uscendo e l'Activity entrerà presto nello stato Interrotto o Ripreso.
Non utilizzare onPause() per salvare i dati dell'applicazione o dell'utente, effettuare chiamate di rete o eseguire transazioni di database ma utilizzare onRestoreInstanceState() che è possibile approfondire in questo articolo.
Al termine di onPause(), la funzione che viene chiamata successivamente è onStop() oppure onResume(), a seconda di cosa succede dopo che l'Activity entra nello di pausa.
onStop()
Il sistema chiama la funzione onStop() quando l'Activity non è più visibile all'utente. Ciò può accadere perché l'Activity viene distrutta, una nuova Activity viene inizializzata o un'Activity esistente sta entrando in uno stato Ripreso e sostituisce l'Activity interrotta. In tutti questi casi, l'Activity interrotta non è più visibile.
Al termine di onStop(), la funzione che viene chiamata successivamente è onRestart(), se l'Activity sta tornando a interagire con l'utente, oppure onDestroy() se l'Activity sta terminando completamente.
onDestroy()
Il sistema richiama questa funzione prima che un'Activity venga distrutta.
Questa funzione è quella finale che l'Activity riceve. onDestroy() viene in genere implementato per garantire che tutte le risorse di un'Activity vengano rilasciate quando l'Activity o il processo che la contiene viene distrutto.
onRestart()
Il sistema richiama questa funzione quando un'Activity in stato di arresto sta per riavviarsi.
onRestart() ripristina lo stato dell'Activity dal momento in cui è stata interrotta.
Al termine di onRestart(), la funzione che viene chiamata successivamente è sempre onStart().
Ecco come si presenta la classe MainActivity all'interno del file MainActivity.kt
Vediamo un esempio pratico per capire come e quando vengono richiamate queste funzioni
Ecco come si presenta il file MainActivity.kt Ecco un video dimostrativo
La prima volta che l'app viene eseguita appariranno i seguenti Toast message:
- onCreate()
- onStart ()
- onResume ()
- onPause()
- onStop()
- onRestart()
- onStart()
- onResume()
- onPause()
- onStop()
- onDestroy()
- onPause()
- onStop()
- onDestroy()
- onCreate()
- onStart()
- onResume()
Download Project | |
Download file APK | |
Visualizza su |
Per maggiori dettagli vedere questo articolo su come risolvere il problema del riavvio dell'app quando si orienta lo schermo.
Commenti
Posta un commento