A figura a seguir (do documento oficial ) descreve o conhecido ciclo de vida de uma atividade Android:
Por outro lado, quando a atividade é destruída pelo sistema (por exemplo, porque a memória precisa ser recuperada), o estado da atividade às vezes é automaticamente salvo e restaurado por meio dos métodos onSaveInstanceState()
e onRestoreInstanceState()
, conforme ilustrado pela figura a seguir (também do documento oficial ):
Estou ciente de que onSaveInstanceState()
é nem sempre chamado quando uma atividade está prestes a ser destruído. Por exemplo, se for destruído porque o usuário pressionou o botão "voltar", o estado de atividade não é preservado. Mas nos casos em que o estado é salvo e restaurado e onSaveInstanceState()
/ onRestoreInstanceState()
é chamado, quando exatamente eles são chamados ?
Por exemplo, de acordo com as figuras acima, onRestoreInstanceState()
pode ser chamado antes onStart()
ou depois, onStart()
mas antes onResume()
ou depois onResume()
. Da mesma forma, existem várias possibilidades para onSaveInstanceState()
. Então, quando eles são chamados exatamente?
Idealmente, o que eu gostaria é ver um diagrama combinado mostrando os estados do ciclo de vida da atividade e os métodos de salvar / restaurar , se houver.