¿Cuándo se llaman exactamente onSaveInstanceState () y onRestoreInstanceState ()?

La siguiente figura (deel documento oficial) describe lo conocidociclo vital de una actividad de Android:

Por otro lado, cuando la actividad es destruida por el sistema (por ejemplo, porque la memoria necesita ser reclamada), el estado de la actividad a veces es automáticamenteguardado y restaurado Por medio de los métodos.onSaveInstanceState() yonRestoreInstanceState(), como se ilustra en la siguiente figura (también deel documento oficial):

Soy consciente de queonSaveInstanceState() esno siempre llamado cuando una actividad está a punto de ser destruida. Por ejemplo, si se destruye porque el usuario ha presionado el botón "atrás", el estado de la actividad no se conserva. Pero en los casos en que el estado.es guardado y restaurado, yonSaveInstanceState() / onRestoreInstanceState() ser llamado,cuando son exactamente llamados?

Por ejemplo, según las figuras anteriores,onRestoreInstanceState() podría ser llamado antesonStart(), o despuésonStart() pero antesonResume(), o despuésonResume(). Del mismo modo, existen varias posibilidades paraonSaveInstanceState(). Entonces, ¿cuándo se les llama exactamente?

Idealmente, lo que me gustaría es ver unDiagrama combinado que muestra los estados del ciclo de vida de la actividad y los métodos de guardar / restaurar, si eso existe.

Respuestas a la pregunta(5)

Su respuesta a la pregunta