Compartilhar via


Activity.OnSaveInstanceState Método

Definição

Sobrecargas

OnSaveInstanceState(Bundle)

Chamado para recuperar o estado por instância de uma atividade antes de ser eliminado para que o estado possa ser restaurado em #onCreate ou #onRestoreInstanceState (o preenchido Bundle por esse método será passado para ambos).

OnSaveInstanceState(Bundle, PersistableBundle)

Isso é o mesmo que #onSaveInstanceState mas é chamado para atividades criadas com o atributo android.R.attr#persistableMode definido como persistAcrossReboots.

OnSaveInstanceState(Bundle)

Chamado para recuperar o estado por instância de uma atividade antes de ser eliminado para que o estado possa ser restaurado em #onCreate ou #onRestoreInstanceState (o preenchido Bundle por esse método será passado para ambos).

[Android.Runtime.Register("onSaveInstanceState", "(Landroid/os/Bundle;)V", "GetOnSaveInstanceState_Landroid_os_Bundle_Handler")]
protected virtual void OnSaveInstanceState (Android.OS.Bundle outState);
[<Android.Runtime.Register("onSaveInstanceState", "(Landroid/os/Bundle;)V", "GetOnSaveInstanceState_Landroid_os_Bundle_Handler")>]
abstract member OnSaveInstanceState : Android.OS.Bundle -> unit
override this.OnSaveInstanceState : Android.OS.Bundle -> unit

Parâmetros

outState
Bundle

Pacote no qual colocar seu estado salvo.

Atributos

Comentários

Chamado para recuperar o estado por instância de uma atividade antes de ser eliminado para que o estado possa ser restaurado em #onCreate ou #onRestoreInstanceState (o preenchido Bundle por esse método será passado para ambos).

Esse método é chamado antes que uma atividade possa ser encerrada para que, quando voltar em algum momento no futuro, possa restaurar seu estado. Por exemplo, se a atividade B for iniciada na frente da atividade A e, em algum momento, a atividade A for eliminada para recuperar recursos, a atividade A terá a chance de salvar o estado atual de sua interface do usuário por meio desse método para que, quando o usuário retornar à atividade A, o estado da interface do usuário possa ser restaurado por meio #onCreate de ou #onRestoreInstanceState.

Não confunda esse método com retornos de chamada do ciclo de vida da atividade, como #onPause, que sempre é chamado quando o usuário não interage mais ativamente com uma atividade ou #onStop que é chamado quando a atividade se torna invisível. Um exemplo de quando #onPause e #onStop é chamado e não esse método é quando um usuário navega de volta da atividade B para a atividade A: não há necessidade de chamar #onSaveInstanceState B porque essa instância específica nunca será restaurada, portanto, o sistema evita chamá-la. Um exemplo quando #onPause é chamado e não #onSaveInstanceState é quando a atividade B é iniciada na frente da atividade A: o sistema pode evitar chamar #onSaveInstanceState a atividade A se ela não for encerrada durante o tempo de vida de B, pois o estado da interface do usuário de A permanecerá intacto.

A implementação padrão cuida da maior parte do estado da interface do usuário por instância para você, chamando android.view.View#onSaveInstanceState() cada exibição na hierarquia que tem uma id e salvando a id da exibição focada no momento (toda a qual é restaurada pela implementação padrão de #onRestoreInstanceState). Se você substituir esse método para salvar informações adicionais não capturadas por cada exibição individual, provavelmente desejará chamar a implementação padrão, caso contrário, esteja preparado para salvar todo o estado de cada exibição por conta própria.

Se chamado, esse método ocorrerá depois #onStop para aplicativos direcionados a plataformas que começam com android.os.Build.VERSION_CODES#P. Para aplicativos direcionados a versões anteriores da plataforma, esse método ocorrerá antes #onStop e não há garantias sobre se ele ocorrerá antes ou depois #onPause.

Documentação Java para android.app.Activity.onSaveInstanceState(android.os.Bundle).

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usadas de acordo com os termos descritos na Licença de Atribuição Creative Commons 2.5.

Confira também

Aplica-se a

OnSaveInstanceState(Bundle, PersistableBundle)

Isso é o mesmo que #onSaveInstanceState mas é chamado para atividades criadas com o atributo android.R.attr#persistableMode definido como persistAcrossReboots.

[Android.Runtime.Register("onSaveInstanceState", "(Landroid/os/Bundle;Landroid/os/PersistableBundle;)V", "GetOnSaveInstanceState_Landroid_os_Bundle_Landroid_os_PersistableBundle_Handler")]
public virtual void OnSaveInstanceState (Android.OS.Bundle outState, Android.OS.PersistableBundle outPersistentState);
[<Android.Runtime.Register("onSaveInstanceState", "(Landroid/os/Bundle;Landroid/os/PersistableBundle;)V", "GetOnSaveInstanceState_Landroid_os_Bundle_Landroid_os_PersistableBundle_Handler")>]
abstract member OnSaveInstanceState : Android.OS.Bundle * Android.OS.PersistableBundle -> unit
override this.OnSaveInstanceState : Android.OS.Bundle * Android.OS.PersistableBundle -> unit

Parâmetros

outState
Bundle

Pacote no qual colocar seu estado salvo.

outPersistentState
PersistableBundle

Estado que será salvo nas reinicializações.

Atributos

Comentários

Isso é o mesmo que #onSaveInstanceState mas é chamado para atividades criadas com o atributo android.R.attr#persistableMode definido como persistAcrossReboots. O android.os.PersistableBundle transmitido será salvo e apresentado na #onCreate(Bundle, PersistableBundle) primeira vez que essa atividade for reiniciada após a próxima reinicialização do dispositivo.

Documentação Java para android.app.Activity.onSaveInstanceState(android.os.Bundle, android.os.PersistableBundle).

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usadas de acordo com os termos descritos na Licença de Atribuição Creative Commons 2.5.

Confira também

Aplica-se a