Freigeben über


Activity.OnSaveInstanceState Methode

Definition

Überlädt

OnSaveInstanceState(Bundle)

Wird aufgerufen, um den Status pro Instanz aus einer Aktivität abzurufen, bevor er getötet wird, damit der Zustand wiederhergestellt #onCreate werden kann oder #onRestoreInstanceState (die Bundle von dieser Methode aufgefüllt wird, wird an beide übergeben).

OnSaveInstanceState(Bundle, PersistableBundle)

Dies ist identisch mit #onSaveInstanceState den Aktivitäten, die mit dem Attributsatz android.R.attr#persistableMode erstellt persistAcrossRebootswurden.

OnSaveInstanceState(Bundle)

Wird aufgerufen, um den Status pro Instanz aus einer Aktivität abzurufen, bevor er getötet wird, damit der Zustand wiederhergestellt #onCreate werden kann oder #onRestoreInstanceState (die Bundle von dieser Methode aufgefüllt wird, wird an beide übergeben).

[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

Parameter

outState
Bundle

Bündeln, in dem Der gespeicherte Zustand platziert werden soll.

Attribute

Hinweise

Wird aufgerufen, um den Status pro Instanz aus einer Aktivität abzurufen, bevor er getötet wird, damit der Zustand wiederhergestellt #onCreate werden kann oder #onRestoreInstanceState (die Bundle von dieser Methode aufgefüllt wird, wird an beide übergeben).

Diese Methode wird aufgerufen, bevor eine Aktivität getötet werden kann, damit sie, wenn sie in Zukunft zurückkommt, ihren Zustand wiederherstellen kann. Wenn z. B. Aktivität B vor Aktivität A gestartet wird und zu einem bestimmten Zeitpunkt Aktivität A getötet wird, um Ressourcen zurückzugeben, hat Aktivität A die Möglichkeit, den aktuellen Status der Benutzeroberfläche über diese Methode zu speichern, sodass der Status der Benutzeroberfläche wiederhergestellt #onCreate#onRestoreInstanceStatewerden kann, wenn der Benutzer zu Aktivität A zurückkehrt.

Verwechseln Sie diese Methode nicht mit Aktivitätslebenszyklusrückrufen wie #onPause, die immer aufgerufen werden, wenn der Benutzer nicht mehr aktiv mit einer Aktivität interagiert oder #onStop aufgerufen wird, wenn die Aktivität unsichtbar wird. Ein Beispiel dafür, wann #onPause und #onStop nicht diese Methode aufgerufen wird, ist, wenn ein Benutzer von Aktivität B zu Aktivität A navigiert: Es ist nicht erforderlich, B aufzurufen #onSaveInstanceState , da diese bestimmte Instanz nie wiederhergestellt wird, sodass das System es nicht aufruft. Ein Beispiel für #onPause den Aufruf und nicht #onSaveInstanceState der Zeitpunkt, an dem Aktivität B vor Aktivität A gestartet wird: Das System kann das Aufrufen von #onSaveInstanceState Aktivität A vermeiden, wenn es während der Lebensdauer von B nicht getötet wird, da der Status der Benutzeroberfläche von A intakt bleibt.

Die Standardimplementierung kümmert sich um den größten Teil der Benutzeroberfläche pro Instanzzustand für Sie, indem sie jede Ansicht in der Hierarchie aufrufen android.view.View#onSaveInstanceState() , die eine ID enthält, und indem die ID der aktuell fokussierten Ansicht gespeichert wird (die alle durch die Standardimplementierung von #onRestoreInstanceState). Wenn Sie diese Methode außer Kraft setzen, um zusätzliche Informationen zu speichern, die nicht von jeder einzelnen Ansicht erfasst werden, möchten Sie wahrscheinlich die Standardimplementierung aufrufen, andernfalls sollten Sie bereit sein, den gesamten Zustand jeder Ansicht selbst zu speichern.

Wenn diese Methode aufgerufen wird, tritt diese Methode nach #onStop Anwendungen auf, die auf Plattformen abzielen, beginnend mit android.os.Build.VERSION_CODES#P. Für Anwendungen, die auf frühere Plattformversionen abzielen, tritt diese Methode vor #onStop und es gibt keine Garantien darüber, ob sie vor oder nachher #onPauseauftreten wird.

Java-Dokumentation für android.app.Activity.onSaveInstanceState(android.os.Bundle).

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die vom Android Open Source-Projekt erstellt und freigegeben werden und gemäß den in der Creative Commons 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Weitere Informationen

Gilt für:

OnSaveInstanceState(Bundle, PersistableBundle)

Dies ist identisch mit #onSaveInstanceState den Aktivitäten, die mit dem Attributsatz android.R.attr#persistableMode erstellt persistAcrossRebootswurden.

[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

Parameter

outState
Bundle

Bündeln, in dem Der gespeicherte Zustand platziert werden soll.

outPersistentState
PersistableBundle

Zustand, der über Neustarts gespeichert wird.

Attribute

Hinweise

Dies ist identisch mit #onSaveInstanceState den Aktivitäten, die mit dem Attributsatz android.R.attr#persistableMode erstellt persistAcrossRebootswurden. Das android.os.PersistableBundle übergebene Gerät wird gespeichert und beim #onCreate(Bundle, PersistableBundle) ersten Neustart dieser Aktivität nach dem nächsten Geräteneustart angezeigt.

Java-Dokumentation für android.app.Activity.onSaveInstanceState(android.os.Bundle, android.os.PersistableBundle).

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die vom Android Open Source-Projekt erstellt und freigegeben werden und gemäß den in der Creative Commons 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Weitere Informationen

Gilt für: