Si vous faites partis de ceux qui ont l'habitude de double cliquer régulièrement sur le bouton "home" de leur iPhone (IPad, IPod ...) afin de fermer méticuleusement les applications en cours de fonctionnement (en espérant ainsi libérer des ressources), vous devriez lire les quelques lignes qui vont suivre ...
Pour être franc et jusqu'à la lecture de cet excellent article j'étais un peu comme vous. Pour ceux qui ne sont pas trop à l'aise avec la langue anglaise je vais tenter de vous décrire, en quelques lignes, le fonctionnement du (pseudo) mode mult-tâches proposé par iOS (en m'inspirant très fortement de l'article original qui est consultable ICI ...)
En fait, une application iOS peut se trouver dans 5 états :
- "non fonctionnelle" : c'est le cas pour une application qui n'a pas encore été lancée ou qui a été volontairement stoppée par l'utilisateur (ou par le système comme on le verra plus bas).
- "inactive" : c'est le cas pour une application qui se trouve au premier plan mais qui ne reçoit plus aucune action (c'est le cas par exemple lorsque l'utilisateur a verrouillé son appareil avec une application toujours active).
- "active" : c'est le cas pour une application en fonctionnement normal.
- "en tâche de fond": l'application n'est plus présente à l'écran mais elle continue à s' exécuter en arrière plan.
- "suspendue" : l'application ne fonctionne plus en tâche de fond mais elle est toujours présente en mémoire.
On passera rapidement sur les états "non fonctionnelle", "active"et "inactive" qui n'ont que peu d'intérêt dans le cadre de cet article.
L'analyse des autres modes est plus intéressante : lorsque l'utilisateur appuie sur le bouton "home" l'application actuellement utilisée passe de l'état "active" à l état "en tâche de fond". La majorité des applications ne seront autorisées à fonctionner dans cet état que quelques secondes, le temps de se fermer correctement. Elles passeront ensuite automatiquement dans l'état "suspendue". Elle seront donc toujours stockées en mémoire (afin de pouvoir être relancée plus rapidement) mais ne consommeront plus de ressource "processeur". Certains vont peut être rétorquer qu'il est donc nécessaire de purger régulièrement ces applications afin de libérer de la mémoire. Ce n'est pas le cas car iOS s'en occupe sans action de votre part : si vous lancez une application particulièrement gourmande le système va automatiquement supprimer de la mémoire certaines des applications suspendues.
Il existe toutefois quelques exceptions :
Dans certains cas, après l'appui sur le bouton "home", l'application va demander l'autorisation au système de pouvoir encore fonctionner en tâche de fond pendant une dizaine de minutes (pour finaliser un téléchargement par exemple). Quoi qu’il en soit cette autorisation ne peut excéder quelques minutes.
Certaines (rares) applications disposent d'autorisations spécifiques leur permettant de fonctionner en tâche de fond sans limitation de durée (lecture de musiques, logiciels d'aide à la navigation, VoIP, news en temps réel ...). Mais il s'agit là de cas particuliers.
Pour résumer : sur iOS, vous n'avez pas besoin de vous soucier des applications toujours présentent en tâche de fond, le système gère tout ça pour vous. Il est donc totalement inutile donc de "killer" régulièrement les applications se trouvant en arrière plan.
L'article original est disponible ICI
L'auteur de l'article original a également réalisé une vidéo destinée à démontrer tout ça d'une façon plus visuelle. C'est par ICI !
Photo : Guilherme Neto
Précisions importantes et utiles, vi !
Il faut en rajouter une : ce n'est pas parce que une appli se trouve dans cette liste d'applis "en tâche de fond" qu'elle est forcément stockée en mémoire ! Les applis ayant été en tâche de fond mais supprimées depuis de la mémoire par iOS y restent quand même ! Je ne sais pas trop pourquoi ils ont fait ça, ça peut au mieux servir de raccourci...
Le résumé est qu'effectivement cette liste est un "faux ami", elle n'est en fait utile que pour "killer" une appli ayant un comportement bizarre pour pouvoir la relancer proprement
Salut JD.
Merci pour cette précision. Je pense qu'Apple a décidé de procéder de la sorte afin que l'utilisateur ne soit pas étonné de ne plus trouver, au sein de la barre des apps, une application qu'il avait précédemment lancé.
@+
/Xavier
J'avais un article en tête en faisant mon commentaire précédent, je l'ai retrouvé : http://blog.gete.net/2012/01/07/multitache-sur-ios-pourquoi-on-ne-le-comprend-pas/