La figure suivante (tirée de la documentation officielle ) décrit le cycle de vie bien connu d'une activité Android:
Par contre, lorsque l'activité est détruite par le système (par exemple parce que la mémoire doit être récupérée), l'état de l'activité est parfois automatiquement sauvegardé et restauré au moyen des méthodes onSaveInstanceState()
et onRestoreInstanceState()
, comme illustré par la figure suivante (également du document officiel ):
Je suis conscient que ce onSaveInstanceState()
n'est pas toujours appelé lorsqu'une activité est sur le point d'être détruite. Par exemple, s'il est détruit parce que l'utilisateur a appuyé sur le bouton «retour», l'état d'activité n'est pas conservé. Mais dans les cas où l'état est enregistré et restauré, et onSaveInstanceState()
/ onRestoreInstanceState()
est appelé, quand exactement sont-ils appelés ?
Par exemple, selon les chiffres ci-dessus, onRestoreInstanceState()
peut être appelé avant onStart()
, ou après onStart()
mais avant onResume()
ou après onResume()
. De même, plusieurs possibilités existent pour onSaveInstanceState()
. Alors, quand sont-ils appelés exactement?
Idéalement, je voudrais voir un diagramme combiné montrant les états du cycle de vie de l'activité et les méthodes de sauvegarde / restauration , si cela existe.