Comment Android gère les processus
Windows permet aux applications de bureau de rester en marche, qu'elles soient visibles ou non, tandis qu'iOS d'Apple permet uniquement aux applications d'effectuer quelques tâches limitées en arrière-plan. Android se situe quelque part entre les deux - les applications exécutées au premier plan sont hiérarchisées, mais les applications ont beaucoup plus de liberté pour s'exécuter en arrière-plan que sur iOS.
Nous verrons exactement comment Android gère les applications et les processus en cours d'exécution sur votre téléphone ou votre tablette, en démystifiant ce qui se passe en arrière-plan..
Hiérarchie du cycle de vie des processus
Un processus sur Android peut être dans l'un des cinq états différents à tout moment, du plus important au moins important:
- 1. Processus de premier plan: L'application que vous utilisez est considérée comme le processus de premier plan. D'autres processus peuvent également être considérés comme des processus de premier plan, par exemple s'ils interagissent avec le processus actuellement au premier plan. Il n'y a que quelques processus de premier plan à un moment donné.
- 2. Processus visible: Un processus visible n'est pas au premier plan, mais affecte toujours ce que vous voyez sur votre écran. Par exemple, le processus de premier plan peut être une boîte de dialogue qui vous permet de voir une application derrière elle. L'application visible en arrière-plan serait un processus visible..
- 3. Processus de service: Un processus de service n'est lié à aucune application visible sur votre écran. Cependant, cela fait quelque chose en arrière-plan, comme jouer de la musique ou télécharger des données en arrière-plan. Par exemple, si vous commencez à jouer de la musique et passez à une autre application, la lecture de la musique en arrière-plan est gérée par un processus de service..
- 4. Processus d'arrière-plan: Les processus en arrière-plan ne sont actuellement pas visibles pour l'utilisateur. Ils n’ont aucune incidence sur l’expérience de l’utilisation du téléphone. À tout moment, de nombreux processus d'arrière-plan sont en cours d'exécution. Vous pouvez considérer ces processus d'arrière-plan comme des applications «en pause». Ils sont conservés en mémoire afin que vous puissiez les reprendre rapidement lorsque vous y retournez, mais ils ne consomment pas de temps CPU précieux ni d'autres ressources non mémoires..
- 5. Processus vide: Un processus vide ne contient plus de données d'application. Il peut être conservé à des fins de mise en cache pour accélérer les lancements d'applications plus tard, ou le système peut le tuer si nécessaire..
Par exemple, disons que vous allumez votre téléphone et ouvrez une application de musique. Pendant que vous l'utilisez, l'application musicale sera un processus de premier plan. Lorsque vous commencez à jouer de la musique et quittez l'application Musique, la musique continue de jouer en tant que processus de service..
Regardons Angry Birds comme autre exemple. Angry Birds serait un processus de premier plan pendant que vous le jouiez. Lorsque vous quittez Angry Birds et accédez à l'application Gmail pour afficher votre courrier électronique, Angry Birds devient un processus en arrière-plan (car il n'a rien à faire en arrière-plan), tandis que Gmail devient le processus de premier plan. Lorsque vous revenez à Angry Birds, il deviendra votre processus de premier plan et le jeu reprendra rapidement. Angry Birds n'utilisait pas de ressources en arrière-plan - à part de la RAM - mais reprend rapidement car il est resté en cache et prêt à reprendre..
Android gère automatiquement les processus
Android gère très bien automatiquement ces processus, raison pour laquelle vous n'avez pas besoin d'un tueur de tâches sous Android..
Lorsque Android aura besoin de plus de ressources système, il commencera par tuer les processus les moins importants. Android va commencer à tuer les processus vides et en arrière-plan pour libérer de la mémoire si vous êtes à court. Si vous avez besoin de plus de mémoire, par exemple, si vous jouez à un jeu particulièrement exigeant sur un appareil ne disposant pas de beaucoup de mémoire RAM, Android commencera alors à tuer les processus de service, de sorte que la diffusion de musique et les téléchargements de fichiers risquent de s'interrompre..
Dans la plupart des cas, Android fait tout cela sans que vous ayez à vous en soucier. Android utilise intelligemment la RAM de votre appareil pour mettre en cache des applications et d'autres données, car rien ne sert de laisser votre RAM vide..
Bien sûr, Android offre aux applications une telle flexibilité qu'elles peuvent se comporter de manière erronée. Par exemple, une application mal codée peut démarrer un processus de service qui continue de fonctionner en arrière-plan, consommant tout votre temps processeur et réduisant considérablement la durée de vie de votre batterie..
Vous remarquerez une chose intéressante dans les applications antivirus comme Avast! pour Android est que l'application antivirus utilise une icône de notification. Si vous essayez de désactiver l'icône de notification, Avast! recommandera contre. En ayant une icône de notification visible, Avast! se fait une application plus prioritaire, empêchant Android de le considérer comme une application d'arrière-plan et le tuant.
Les applications Android peuvent démarrer en réponse à des événements
Les applications Android peuvent également démarrer en réponse à des événements. Par exemple, un développeur peut programmer son application pour qu'elle s'exécute automatiquement au démarrage et exécute un service en arrière-plan. Les applications peuvent démarrer en réponse à divers autres événements, tels que le moment où vous prenez une photo, le moment où votre connexion de données change, etc. Cela permet aux applications d'effectuer des actions en réponse à des événements sans s'exécuter en permanence en arrière-plan..
Gérer les processus
Vous ne devriez pas avoir besoin de gérer les processus manuellement, mais vous pouvez le faire de différentes manières. Vous pouvez utiliser le menu multitâche sur Android 4.0 et versions ultérieures pour effectuer certaines tâches simples de gestion des processus. Pour y accéder, appuyez sur le bouton multitâche dédié sur les appareils Nexus. Sur d'autres appareils Android, vous devrez peut-être appuyer deux fois ou longuement sur le bouton Accueil..
Les applications affichées dans le menu sont probablement en état «processus en arrière-plan». Vous pouvez les tuer en balayant une application vers la gauche ou vers la droite, ce qui la supprimera de la mémoire de votre appareil. Cela ne devrait pas être nécessaire, mais peut aider lorsque vous voulez tuer rapidement une application - peut-être que c'est mal se comporter.
Vous pouvez également accéder à l'écran Paramètres, appuyer sur Applications, sur une application, puis utiliser le bouton Arrêter de force pour supprimer une application défaillante..
Android est basé sur Linux et chaque application sur Android est affectée à un ID utilisateur Linux différent - ou à un compte utilisateur. Cela isole les applications les unes des autres. Si vous rootez votre appareil, les applications peuvent échapper à leurs sandbox utilisateur et s'exécuter avec les privilèges root..
Crédit d'image: JD Hancock sur Flickr