Activity.OnSaveInstanceState Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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 |
OnSaveInstanceState(Bundle, PersistableBundle) |
Isso é o mesmo que |
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 #onPause
do .
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.
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
- OnSaveInstanceState(Bundle)
- OnCreate(Bundle)
- <xref:Android.App.Activity.OnRestoreInstanceState(Android.OS.Bundle%2c+Android.OS.PersistableBundle)>
- OnPause()