La figura seguente (dal documento ufficiale ) descrive il ben noto ciclo di vita di un'attività Android:
Quando invece l'attività viene distrutta dal sistema (ad esempio perché occorre recuperare la memoria), lo stato dell'attività viene talvolta salvato e ripristinato automaticamente mediante i metodi onSaveInstanceState()
e onRestoreInstanceState()
, come illustrato dalla figura seguente (anche dal documento ufficiale ):
Sono consapevole che nononSaveInstanceState()
viene sempre chiamato quando un'attività sta per essere distrutta. Ad esempio, se viene distrutto perché l'utente ha premuto il pulsante "indietro", lo stato dell'attività non viene conservato. Ma nei casi in cui lo stato viene salvato e ripristinato e onSaveInstanceState()
/ onRestoreInstanceState()
vengono richiamati, quando vengono richiamati esattamente ?
Ad esempio, secondo le figure precedenti, onRestoreInstanceState()
potrebbe essere chiamato prima onStart()
o dopo onStart()
ma prima onResume()
o dopo onResume()
. Allo stesso modo, esistono diverse possibilità per onSaveInstanceState()
. Quindi quando vengono chiamati esattamente?
Idealmente, quello che vorrei è vedere un diagramma combinato che mostri gli stati del ciclo di vita dell'attività e i metodi di salvataggio / ripristino , se esistenti.