Activity.OnSaveInstanceState Método

Definição

Sobrecargas

OnSaveInstanceState(Bundle)

Chamado para recuperar o estado por instância de uma atividade antes de ser morto 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 morto 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 morto para que o estado possa ser restaurado em #onCreate ou #onRestoreInstanceState (o preenchido Bundle por esse método será passado para ambos).

Este método é chamado antes que uma atividade possa ser morta para que, quando voltar algum tempo 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 morta 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, de modo que, quando o usuário retornar à atividade A, o estado da interface do usuário possa ser restaurado via #onCreate 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, então 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 morta durante a vida útil de B, uma vez que 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 modo de exibição na hierarquia que tem uma id e salvando a id da exibição focada no momento (todas restauradas pela implementação padrão do #onRestoreInstanceState). Se você substituir esse método para salvar informações adicionais não capturadas por cada modo de exibição individual, provavelmente desejará chamar até 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 começando com android.os.Build.VERSION_CODES#P. Para aplicativos destinados a versões anteriores da plataforma, esse método ocorrerá antes #onStop e não há garantias sobre se ocorrerá antes ou depois #onPausedo .

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 usado de acordo com os termos descritos na Creative Commons 2.5 Attribution License.

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 passado 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 usado de acordo com os termos descritos na Creative Commons 2.5 Attribution License.

Confira também

Aplica-se a