Activity.OnSaveInstanceState Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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 |
OnSaveInstanceState(Bundle, PersistableBundle) |
Il s’agit de la même chose que celle qui |
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.
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
- OnSaveInstanceState(Bundle)
- OnCreate(Bundle)
- <xref:Android.App.Activity.OnRestoreInstanceState(Android.OS.Bundle%2c+Android.OS.PersistableBundle)>
- OnPause()