Activity.OnSaveInstanceState Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Sobrecargas
OnSaveInstanceState(Bundle) |
Se llama para recuperar el estado por instancia de una actividad antes de eliminarse para que el estado se pueda restaurar en |
OnSaveInstanceState(Bundle, PersistableBundle) |
Esto es lo mismo que |
OnSaveInstanceState(Bundle)
Se llama para recuperar el estado por instancia de una actividad antes de eliminarse para que el estado se pueda restaurar en #onCreate
o #onRestoreInstanceState
(el Bundle
rellenado por este método se pasará a 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
Agrupación en la que se va a colocar el estado guardado.
- Atributos
Comentarios
Se llama para recuperar el estado por instancia de una actividad antes de eliminarse para que el estado se pueda restaurar en #onCreate
o #onRestoreInstanceState
(el Bundle
rellenado por este método se pasará a ambos).
Se llama a este método antes de que se pueda eliminar una actividad para que, cuando vuelva algún tiempo en el futuro, pueda restaurar su estado. Por ejemplo, si la actividad B se inicia delante de la actividad A y, en algún momento, se elimina la actividad A para reclamar recursos, la actividad A tendrá la oportunidad de guardar el estado actual de su interfaz de usuario a través de este método para que cuando el usuario vuelva a la actividad A, el estado de la interfaz de usuario se puede restaurar a través #onCreate
de o #onRestoreInstanceState
.
No confunda este método con devoluciones de llamada del ciclo de vida de actividad, como #onPause
, que siempre se llama cuando el usuario ya no interactúa activamente con una actividad, o #onStop
que se llama cuando la actividad se vuelve invisible. Un ejemplo de cuándo #onPause
y se llama a y #onStop
no este método es cuando un usuario vuelve de la actividad B a la actividad A: no es necesario llamar #onSaveInstanceState
a en B porque esa instancia determinada nunca se restaurará, por lo que el sistema evita llamarlo. Un ejemplo cuando #onPause
se llama a y no #onSaveInstanceState
es cuando se inicia la actividad B delante de la actividad A: el sistema puede evitar llamar a #onSaveInstanceState
en la actividad A si no se mata durante la vigencia de B, ya que el estado de la interfaz de usuario de A permanecerá intacto.
La implementación predeterminada se encarga de la mayoría del estado de la interfaz de usuario por instancia mediante una llamada a android.view.View#onSaveInstanceState()
en cada vista de la jerarquía que tiene un identificador y guardando el identificador de la vista centrada actualmente (todas las cuales se restauran mediante la implementación predeterminada de #onRestoreInstanceState
). Si invalida este método para guardar información adicional no capturada por cada vista individual, es probable que quiera llamar a la implementación predeterminada; de lo contrario, debe estar preparado para guardar todo el estado de cada vista usted mismo.
Si se llama a , este método se producirá después #onStop
de que las aplicaciones que tienen como destino plataformas a partir de android.os.Build.VERSION_CODES#P
. En el caso de las aplicaciones destinadas a versiones anteriores de la plataforma, este método se producirá antes #onStop
y no hay ninguna garantía sobre si se producirá antes o después #onPause
de .
Documentación de Java para android.app.Activity.onSaveInstanceState(android.os.Bundle)
.
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.
Consulte también
Se aplica a
OnSaveInstanceState(Bundle, PersistableBundle)
Esto es lo mismo que #onSaveInstanceState
pero se llama a para las actividades creadas con el atributo android.R.attr#persistableMode
establecido persistAcrossReboots
en .
[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
Agrupación en la que se va a colocar el estado guardado.
- outPersistentState
- PersistableBundle
Estado que se guardará en los reinicios.
- Atributos
Comentarios
Esto es lo mismo que #onSaveInstanceState
pero se llama a para las actividades creadas con el atributo android.R.attr#persistableMode
establecido persistAcrossReboots
en . El android.os.PersistableBundle
pasado se guardará y se presentará en #onCreate(Bundle, PersistableBundle)
la primera vez que se reinicie esta actividad después del siguiente reinicio del dispositivo.
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.
Consulte también
- OnSaveInstanceState(Bundle)
- OnCreate(Bundle)
- <xref:Android.App.Activity.OnRestoreInstanceState(Android.OS.Bundle%2c+Android.OS.PersistableBundle)>
- OnPause()