Poniższy rysunek (z oficjalnego dokumentu ) przedstawia dobrze znany cykl życia działania na Androidzie:

Z drugiej strony, gdy aktywność zostanie zniszczona przez system (na przykład z powodu konieczności odzyskania pamięci), stan aktywności jest czasami automatycznie zapisywany i przywracany za pomocą metod onSaveInstanceState()i onRestoreInstanceState(), jak pokazano na poniższym rysunku (również z oficjalnego dokumentu ):

Wiem, że nie zawszeonSaveInstanceState() jest to wywoływane, gdy działanie ma zostać zniszczone. Na przykład, jeśli zostanie zniszczony, ponieważ użytkownik nacisnął przycisk „Wstecz”, stan aktywności nie zostanie zachowany. Ale w przypadkach, gdy stan jest zapisywany i przywracany i onSaveInstanceState()/ gdy onRestoreInstanceState()zostanie wywołany, kiedy dokładnie są wywoływani ?
Na przykład, zgodnie z powyższymi rysunkami, onRestoreInstanceState()może być wywołany przed onStart()lub po, onStart()ale przed onResume()lub po onResume(). Podobnie istnieje kilka możliwości dla onSaveInstanceState(). Kiedy więc są dokładnie nazywani?
W idealnym przypadku chciałbym zobaczyć połączony diagram przedstawiający stany cyklu życia czynności i metody zapisywania / odtwarzania , jeśli takie istnieją.