9Sep
Windows permet aux applications de bureau de rester en cours d'exécution, qu'elles soient visibles ou non, tandis que 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 fonctionnant au premier plan sont prioritaires, mais les applications ont beaucoup plus de liberté pour fonctionner en arrière-plan que sur iOS.
Nous verrons exactement comment Android gère les applications et les processus qui s'exécutent sur votre téléphone ou tablette, démystifiant ce qui se passe en arrière-plan.
La hiérarchie du cycle de vie des processus
Un processus sur Android peut être dans l'un des cinq états suivants, 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 qui est actuellement au premier plan. Il y a seulement 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, il 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 à lire de la musique et à passer à une autre application, la lecture de musique en arrière-plan est gérée par un processus de service.
- 4. Processus d'arrière-plan : Les processus d'arrière-plan ne sont pas visibles pour l'utilisateur. Ils n'ont aucun impact 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 "suspendues".Ils sont conservés en mémoire afin que vous puissiez rapidement les utiliser lorsque vous y revenez, mais ils n'utilisent pas de temps processeur précieux ou d'autres ressources non-mémoire.
- 5. Processus vide : Un processus vide ne contient plus aucune donnée d'application. Il peut être conservé à des fins de mise en cache afin d'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 musicale. Pendant que vous l'utilisez, l'application musicale sera un processus de premier plan. Lorsque vous commencez à lire de la musique et à quitter l'application Musique, la musique continue à jouer en tant que processus de service.
Regardons Angry Birds comme un 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 consulter votre courrier électronique, Angry Birds devient un processus d'arrière-plan( car il ne doit rien faire en arrière-plan), tandis que Gmail devient le processus de premier plan. Lorsque vous retournerez à Angry Birds, il deviendra votre processus de premier plan et le jeu reprendra rapidement. Angry Birds n'utilisait pas les ressources en arrière-plan - hormis quelques RAM - mais il reprenait rapidement car il restait en cache et prêt à reprendre.
Android gère automatiquement les processus
Android fait un bon travail de gestion automatique de ces processus, ce qui explique pourquoi vous n'avez pas besoin d'un tueur de tâches sur Android.
Lorsque Android a besoin de plus de ressources système, il commence par tuer les processus les moins importants en premier. Android va commencer à tuer les processus vides et en arrière-plan pour libérer de la mémoire si vous êtes faible. Si vous avez besoin de plus de mémoire - par exemple, si vous jouez à un jeu particulièrement exigeant sur un périphérique sans beaucoup de RAM, Android va alors commencer à tuer les processus de service, ainsi votre musique en streaming et vos téléchargements de fichiers peuvent s'arrêter.
Dans la plupart des cas, Android fait tout cela sans que vous ayez à vous en préoccuper. Android utilise intelligemment la RAM de votre appareil pour mettre en cache des applications et d'autres données, car il ne sert à rien de laisser votre mémoire vive vide.
Bien sûr, Android offre aux applications une telle flexibilité qu'elles ont de la place pour se conduire mal. Par exemple, une application mal codée peut démarrer un processus de service qui reste actif en arrière-plan tout le temps, en utilisant tout le temps de votre processeur et en diminuant considérablement la durée de vie de la batterie.
Une chose intéressante que vous remarquerez dans les applications antivirus comme Avast! Pour Android, l'application antivirus utilise une icône de notification. Si vous essayez de désactiver l'icône de notification, Avast! Je vais recommander contre. En ayant une icône de notification visible, Avast!se fait une application de plus haute priorité, empêchant Android de la considérer comme une application de fond et de la tuer.
applications Android peuvent démarrer en réponse à des événements
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, par exemple lorsque vous prenez une photo, lorsque 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 constamment en arrière-plan.
Gestion des processus
Vous ne devriez pas avoir besoin de gérer les processus manuellement, mais il y a plusieurs façons de le faire si vous le souhaitez. Vous pouvez utiliser le menu multitâche sur Android 4.0 et versions ultérieures pour effectuer une gestion de processus de base. 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 appuyer longuement sur le bouton Accueil.
Les applications affichées dans le menu sont susceptibles dans l'état "processus d'arrière-plan".Vous pouvez les tuer en faisant glisser une application vers la gauche ou la droite, ce qui l'enlèvera 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 cela se comporte mal.
Vous pouvez également accéder à l'écran Paramètres, appuyez sur Applications, appuyez sur une application et utilisez le bouton Forcer l'arrêt pour supprimer une application qui ne fonctionne pas correctement.
Android est basé sur Linux, et chaque application sur Android est affectée à un autre ID utilisateur Linux - ou compte d'utilisateur. Cela isole les applications les unes des autres. Si vous enracinez 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