Partager via


Activity.OnSaveInstanceState Méthode

Définition

Surcharges

OnSaveInstanceState(Bundle)

Appelé pour récupérer l’état par instance d’une activité avant d’être tué afin que l’état puisse être restauré ou #onCreate#onRestoreInstanceState (le Bundle remplissage par cette méthode sera transmis aux deux).

OnSaveInstanceState(Bundle, PersistableBundle)

Il s’agit de la même chose que celle qui #onSaveInstanceState est appelée pour les activités créées avec l’attribut android.R.attr#persistableMode défini sur persistAcrossReboots.

OnSaveInstanceState(Bundle)

Appelé pour récupérer l’état par instance d’une activité avant d’être tué afin que l’état puisse être restauré ou #onCreate#onRestoreInstanceState (le Bundle remplissage par cette méthode sera transmis aux deux).

[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

Paramètres

outState
Bundle

Offre groupée dans laquelle placer votre état enregistré.

Attributs

Remarques

Appelé pour récupérer l’état par instance d’une activité avant d’être tué afin que l’état puisse être restauré ou #onCreate#onRestoreInstanceState (le Bundle remplissage par cette méthode sera transmis aux deux).

Cette méthode est appelée avant qu’une activité puisse être tuée afin qu’en cas de retour à un certain temps, elle puisse restaurer son état. Par exemple, si l’activité B est lancée devant l’activité A et qu’à un moment donné l’activité A est tuée pour récupérer des ressources, l’activité A aura la possibilité d’enregistrer l’état actuel de son interface utilisateur via cette méthode afin que lorsque l’utilisateur retourne à l’activité A, l’état de l’interface utilisateur peut être restauré via #onCreate ou #onRestoreInstanceState.

Ne confondez pas cette méthode avec les rappels de cycle de vie d’activité tels que #onPause, qui est toujours appelé lorsque l’utilisateur n’interagit plus activement avec une activité, ou #onStop qui est appelé lorsque l’activité devient invisible. Un exemple de quand #onPause et n’est pas appelé et #onStop non cette méthode est lorsqu’un utilisateur navigue de l’activité B vers l’activité A : il n’est pas nécessaire d’appeler #onSaveInstanceState sur B, car cette instance particulière ne sera jamais restaurée, de sorte que le système évite de l’appeler. Exemple lorsqu’il #onPause est appelé et non #onSaveInstanceState lorsque l’activité B est lancée devant l’activité A : le système peut éviter d’appeler #onSaveInstanceState l’activité A s’il n’est pas tué pendant la durée de vie de B, car l’état de l’interface utilisateur d’A reste intact.

L’implémentation par défaut s’occupe de la plupart de l’état de l’interface utilisateur par instance en appelant android.view.View#onSaveInstanceState() chaque vue de la hiérarchie qui a un ID et en enregistrant l’ID de la vue actuellement ciblée (qui est toutes restaurées par l’implémentation par défaut de #onRestoreInstanceState). Si vous remplacez cette méthode pour enregistrer des informations supplémentaires non capturées par chaque affichage individuel, vous voudrez probablement appeler à l’implémentation par défaut, sinon vous êtes prêt à enregistrer l’état de chaque vue vous-même.

Si elle est appelée, cette méthode se produit après #onStop pour les applications ciblant des plateformes commençant par android.os.Build.VERSION_CODES#P. Pour les applications ciblant les versions antérieures de la plateforme, cette méthode se produit avant #onStop et il n’y a aucune garantie quant à ce qu’elle se produise avant ou après #onPause.

Documentation Java pour android.app.Activity.onSaveInstanceState(android.os.Bundle).

Les parties de cette page sont des modifications basées sur le travail créé et partagé par le projet Android Open Source et utilisés en fonction des termes décrits dans la licence d’attribution Creative Commons 2.5.

Voir aussi

S’applique à

OnSaveInstanceState(Bundle, PersistableBundle)

Il s’agit de la même chose que celle qui #onSaveInstanceState est appelée pour les activités créées avec l’attribut android.R.attr#persistableMode défini sur 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

Paramètres

outState
Bundle

Offre groupée dans laquelle placer votre état enregistré.

outPersistentState
PersistableBundle

État qui sera enregistré dans les redémarrages.

Attributs

Remarques

Il s’agit de la même chose que celle qui #onSaveInstanceState est appelée pour les activités créées avec l’attribut android.R.attr#persistableMode défini sur persistAcrossReboots. Le android.os.PersistableBundle passage sera enregistré et présenté dans #onCreate(Bundle, PersistableBundle) la première fois que cette activité est redémarrée après le prochain redémarrage de l’appareil.

Documentation Java pour android.app.Activity.onSaveInstanceState(android.os.Bundle, android.os.PersistableBundle).

Les parties de cette page sont des modifications basées sur le travail créé et partagé par le projet Android Open Source et utilisés en fonction des termes décrits dans la licence d’attribution Creative Commons 2.5.

Voir aussi

S’applique à