Activity.OnSaveInstanceState Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Overload
OnSaveInstanceState(Bundle) |
Chiamato per recuperare lo stato per istanza da un'attività prima di essere terminata in modo che lo stato possa essere ripristinato in |
OnSaveInstanceState(Bundle, PersistableBundle) |
È uguale |
OnSaveInstanceState(Bundle)
Chiamato per recuperare lo stato per istanza da un'attività prima di essere terminata in modo che lo stato possa essere ripristinato in #onCreate
o #onRestoreInstanceState
(il Bundle
popolato da questo metodo verrà passato a entrambi).
[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
Parametri
- outState
- Bundle
Bundle in cui posizionare lo stato salvato.
- Attributi
Commenti
Chiamato per recuperare lo stato per istanza da un'attività prima di essere terminata in modo che lo stato possa essere ripristinato in #onCreate
o #onRestoreInstanceState
(il Bundle
popolato da questo metodo verrà passato a entrambi).
Questo metodo viene chiamato prima che un'attività venga terminata in modo che, quando torna indietro in futuro, possa ripristinarne lo stato. Ad esempio, se l'attività B viene avviata davanti all'attività A e a un certo punto l'attività A viene terminata per recuperare le risorse, l'attività A avrà la possibilità di salvare lo stato corrente dell'interfaccia utente tramite questo metodo in modo che quando l'utente torna all'attività A, lo stato dell'interfaccia utente può essere ripristinato tramite #onCreate
o #onRestoreInstanceState
.
Non confondere questo metodo con i callback del ciclo di vita dell'attività, #onPause
ad esempio , che viene sempre chiamato quando l'utente non interagisce più attivamente con un'attività o #onStop
che viene chiamata quando l'attività diventa invisibile. Un esempio di quando #onPause
e #onStop
viene chiamato e non questo metodo è quando un utente torna dall'attività B all'attività A: non è necessario chiamare #onSaveInstanceState
su B perché tale particolare istanza non verrà mai ripristinata, quindi il sistema evita di chiamarlo. Un esempio quando viene chiamato e non #onSaveInstanceState
è quando #onPause
l'attività B viene avviata davanti all'attività A: il sistema può evitare di chiamare #onSaveInstanceState
sull'attività A se non viene ucciso durante la durata di B perché lo stato dell'interfaccia utente di A rimarrà intatto.
L'implementazione predefinita si occupa della maggior parte dello stato dell'interfaccia utente per ogni istanza chiamando android.view.View#onSaveInstanceState()
in ogni visualizzazione della gerarchia con un ID e salvando l'ID della visualizzazione attualmente incentrata (tutte ripristinate dall'implementazione predefinita di #onRestoreInstanceState
). Se si esegue l'override di questo metodo per salvare informazioni aggiuntive non acquisite da ogni singola visualizzazione, è probabile che si voglia chiamare all'implementazione predefinita, altrimenti si è pronti a salvare tutto lo stato di ogni visualizzazione manualmente.
Se viene chiamato, questo metodo verrà eseguito dopo #onStop
per le applicazioni destinate alle piattaforme a partire da android.os.Build.VERSION_CODES#P
. Per le applicazioni destinate alle versioni precedenti della piattaforma, questo metodo si verificherà prima #onStop
e non vi sono garanzie su se si verificherà prima o dopo #onPause
.
Documentazione java per android.app.Activity.onSaveInstanceState(android.os.Bundle)
.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.
Vedi anche
Si applica a
OnSaveInstanceState(Bundle, PersistableBundle)
È uguale #onSaveInstanceState
a ma viene chiamato per le attività create con l'attributo android.R.attr#persistableMode
impostato su 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
Parametri
- outState
- Bundle
Bundle in cui posizionare lo stato salvato.
- outPersistentState
- PersistableBundle
Stato che verrà salvato tra riavvii.
- Attributi
Commenti
È uguale #onSaveInstanceState
a ma viene chiamato per le attività create con l'attributo android.R.attr#persistableMode
impostato su persistAcrossReboots
. L'oggetto android.os.PersistableBundle
passato verrà salvato e presentato per #onCreate(Bundle, PersistableBundle)
la prima volta che questa attività viene riavviata dopo il successivo riavvio del dispositivo.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.
Vedi anche
- OnSaveInstanceState(Bundle)
- OnCreate(Bundle)
- <xref:Android.App.Activity.OnRestoreInstanceState(Android.OS.Bundle%2c+Android.OS.PersistableBundle)>
- OnPause()