• Aucun résultat trouvé

Cycle de vie d’une application Android

N/A
N/A
Protected

Academic year: 2022

Partager "Cycle de vie d’une application Android"

Copied!
30
0
0

Texte intégral

(1)

Programmation Android

IV. Cycle de vie d’une application

Android

(2)

Plan

1 Vue globale du cycle de vie

2 Démarrage d’une activité

3 Pause et unpause

4 Arrêt et redémarrage

5 Destruction

6 Restauration

Cours Android - F. Michel

(3)

Vue globale du cycle de vie

Cycle de vie d’une application Android

État d’une activité

Au fil des interactions utilisateurs, une activité peut être dans un des 4 états suivants

resumed: en avant plan

paused: perte de focus mais encore visible (encore entièrement en mémoire)

stopped: complètement obscurcie par une autre activité (peut être tuée pour récupérer de la mémoire)

off: non démarrée. Le système peut terminer une activité en pause ou stoppée, elle repasse alors dans l’état off et devra être

entièrement redémarrée

(4)

Vue globale du cycle de vie

Cycle de vie d’une application Android

Cours Android - F. Michel

(5)

Vue globale du cycle de vie

Cycle de vie : interactions utilisateurs

(6)

Vue globale du cycle de vie

Cycle de vie d’une application Android

Gestion du cycle de vie

le système appelle automatiquement les méthodes correspondantes en fonction des interactions utilisateurs

onCreate started resumed stopped destroyed

gestion cycle de vie =redéfinition des méthodes-clés Il n’est pas obligatoire de tout redéfinir,onCreatepeut suffire

Cours Android - F. Michel

(7)

Vue globale du cycle de vie

Doc android.app.Activity

Activity

(8)

Vue globale du cycle de vie

Doc android.app.Activity

Activity

Cours Android - F. Michel

(9)

Démarrage d’une activité

Démarrage d’une activité via le manifest

Dans le fichier

AndroidManifest.xml

Lorsque l’activité est démarée, le système instancie l’activité et appelle sa méthode

onCreate

(10)

Démarrage d’une activité

Exemple de redéfinition de onCreate

Cours Android - F. Michel

(11)

Démarrage d’une activité

Démarrage :

onCreateonStartonResume

(12)

Pause et unpause

(1) Perte de focusPaused

Intervient lorsqu’une autre activité non bloquante visuellement passe au premier plan (sélection, dialogues, etc.)

Premier signe que l’utilisateur va quitter l’application

Cours Android - F. Michel

(13)

Pause et unpause

Que faire dans onPause

Relâcher les ressources et stopper l’utilisation du CPU :

Stopper les animations et tout ce qui peut consommer du CPU Enregistrer les changements non sauvés (uniquement ce qui a un intérêt pour l’application, pas de données utilisateur)

rendre au système la main sur les ressources utilisées : réseau, senseurs (e.g. GPS, caméra).

et d’une manière générale, éviter les traitements coûteux en CPU

(14)

Pause et unpause

Exemple

Note : l’instance de l’activité est gardée en mémoire : pas besoin de réinitialiser les composants utilisés

Cours Android - F. Michel

(15)

Pause et unpause

(2) Reprise de focusOnResume

Intervient à chaque prise de focus, y compris la première fois

(16)

Pause et unpause

Exemple

Méthode appelée à chaque prise de focus, y compris la première fois

Cours Android - F. Michel

(17)

Arrêt et redémarrage

Arrêt et redémarrage

Scénarios

L’utilisateur bascule sur une autre application puis revient via le menu des applications

Une action de l’activité démarre une autre activité : l’activité est stoppée dès que la deuxième est créée.

Appel téléphonique

(18)

Arrêt et redémarrage

Arrêt et redémarrage

L’activité reste en mémoire : pour des applications simples,

onPause

peut être suffisant

Cours Android - F. Michel

(19)

Arrêt et redémarrage

Exemple

Note : la sauvegarde des états des Vuespossédant un android :id est automatique (

Bundle

) : e.g. valeurs des champs texte

(20)

Arrêt et redémarrage

onRestartonStart

La plupart des applications ne redéfinisse pas

onRestart

Cours Android - F. Michel

(21)

Arrêt et redémarrage

Exemple

(22)

Destruction

onDestroy : appelée lors de la destruc- tion

Dernière chance de relâcher des ressources et/ou de nettoyer les écouteurs d’événements système

Cours Android - F. Michel

(23)

Destruction

Destruction complète

instance de l’activité perdue

arrêts normaux

L’utilisateur a supprimé l’activité ou cliqué son boutonClose L’activité a appelée sa méthodefinish()

arrêts forcés

le système détruit l’activité pour récupérer des ressources rotation de l’écran : destruction puis reconstruction, i.e. pour l’utilisation d’un layout spécifique

(24)

Restauration

Sauvegarde / Restauration

Restauration dans l’état où l’utilisateur a quitté : 2 cas

Activité détruite puis recréée, l’activité doit restaurer l’état précédent l’activité est stoppée, puis réactivée : état intact

Cours Android - F. Michel

(25)

Restauration

Sauvegarde de données additionnelles (1)

1.

onSaveInstanceState(Bundle)

: appelée après

onStop

) (avant si v. < 3.0). Le

Bundle

est prérempli pour les Views ayant un ID.

⇒ onSaveInstanceState

est utilisée pour faire des

sauvegardes supplémentaires qui seront utilisées par

onRestoreInstanceState(Bundle)

lorsque l’activité est recréée (2) suite à une destruction (volontaire ou non).

(26)

Restauration

Exemple

Cours Android - F. Michel

(27)

Restauration

Restauration de l’état d’une activité

(2) et/ou (3)

(28)

Restauration

Restauration de l’état d’une activité

Dans la méthode

onCreate

:

Cours Android - F. Michel

(29)

Restauration

Restauration de l’état d’une activité

Mieux !Dans la méthode

onRestoreInstanceState

:

Pas besoin de tester que le Bundle n’est pas null car cette méthode n’est appelée que si c’est le cas.

(30)

Conclusion

Résumé global

Ce cours reprend largement les tutoriaux en ligne proposés par Google : Android developers Cours Android - F. Michel

Références

Documents relatifs

Pour tous les flacons en votre possession et figurant dans la liste jointe (annexe 1), compléter pour chaque lot concerné le formulaire « rapport d’inspection visuelle des

Un entier n est appelé réversible s'il est un multiple k de l'entier m obtenu en lisant n de droite à gauche.Comme on écarte toute écriture non standard des entiers m et n

Christian Poslaniec : On dirait que tu as abandonné Pierrot et Colombine, ainsi que l'encre, en même temps que fermait l'atelier du vieux Mans.. On commence par

Cette forme, Kertész l’imaginait atonale : dans Être sans destin, il avait tenté de transposer le modèle de la musique sérielle dans la composition structurale et linéaire

panneaux solaires photovoltaïques utilisés dans les installations de production d’énergie électrique chez les particuliers ou dans les centrales privés, et enfin de présenter

On modifie cet ensemble de jetons d’étape en étape de la manière suivante : À chaque étape on peut échanger deux jetons de couleurs distinctes contre un jeton de la

Déterminer les caractéristiques de cette réponse à ce test réflexe en expliquant son intérêt médical par un texte argumenté rendu sur Classroom.

Cette étude a donc pour objectifs de proposer les bases d'un procédé général de la production de viande bovine certifiée AB en Loire-Atlantique en prenant en compte les