Je ne suis qu'un débutant à Android, mais j'ai remarqué un certain nombre de choses qui semblent un peu étrange dans le troisième tutoriel bloc-notes:Tutoriel Android Notepadv3 - Est-ce que saveState() dans onSaveInstanceState est vraiment nécessaire?
- Le tutoriel stipule explicitement que vous devez appeler saveState des deux onSaveInstanceState et OnPause . Est-ce vraiment nécessaire? Il me semble en lisant la documentation du cycle de vie du processus que onPause sera toujours appelé avant que l'activité ne soit détruite, qu'elle soit effectuée par le système ou par l'utilisateur. Si c'est le cas, il suffit d'appeler saveState depuis onPause.
- L'appel de populateFields() dans onResume et onCreate est inutile, car onResume est toujours appelé après onCreate. Par conséquent, si je comprends bien, l'appel dans onCreate ne sert à rien et peut être supprimé en toute sécurité.
Pourriez-vous s'il vous plaît confirmer ces points, ou laissez-moi savoir ce que j'ai mal compris.
Olly
En outre, la méthode onResume n'est-elle pas complètement inutile dans cet exemple? Selon les documents du cycle de vie, une activité en pause conserve tout son état, alors à quoi sert-il de repeupler les champs quand ils ne sont pas marqués (étant donné qu'ils ne peuvent pas être changés ailleurs)? – Olly
Eh bien, un modèle très commun est de présenter une liste, quand une ligne est cliquée, une nouvelle activité est ouverte pour permettre la modification de l'élément qui a été cliqué. Lorsque cela se produit, vous devez actualiser les données pendant onResume afin que la liste reflète ces modifications. À première vue, il semble qu'ils récupèrent des données de la base de données qui ont peut-être été modifiées. Il est plus probable qu'ils n'aient pas besoin d'appeler populateFields() dans l'onCreate mais ils doivent le laisser en attente. – Mike
N'est-il pas suffisant de placer un appel populateFields() dans onCreate et non dans onResume? Il n'y a pas de situation (autant que je sache) où les données sous-jacentes peuvent changer lorsque cette activité est en pause, il ne devrait donc pas être nécessaire de la charger chaque fois que l'activité n'est pas interrompue. – Olly