onRestoreInstanceState() n'est pas appelée lorsqu'il est prévu que

J'ai quelques difficultés ces derniers temps avec onSaveInstanceState() et onRestoreInstanceState(). J'ai de multiples activités qui utilisent ces méthodes pour économiser de l'état dans le cas où ils sont nettoyés par le système. La plupart d'entre eux, à l'exception d'un, et je n'ai aucune idée pourquoi.

Précisément ce qui se passe est: est-ce

  • J'ai mon émulateur en cours d'exécution, et les outils de dev de l'installation de destroy() toutes les activités quand elles ne sont plus visibles. (Afin que je puisse prouver que sauver/restaurer fonctionnent correctement.)
  • L'Activité en question est en marche, et je procéder pour modifier son état.
  • Je commence une nouvelle Activité, le laisser fonctionner pendant un moment, puis utilisez le bouton "retour" pour aller à mon Activité précédente.
  • Lors de l'arrivée de retour à l'Activité en question, je remarque que l'état par défaut est de retour, il n'est donc pas l'état qui doit.

J'ai remarqué que les onSaveInstanceState() est appelé, onCreate() est appelé, mais a une valeur null bundle, et onRestoreInstanceState() n'est jamais appelée.

Quelqu'un a déjà vu ça?

Je suis désolé, je sais que cette question est depuis longtemps mais comment avez-vous enregistrer l'état de votre activité? Voulez-vous s'il vous plaît regarder à ma question? stackoverflow.com/questions/26142255/...

OriginalL'auteur nicholas.hauschild | 2010-06-27