Sobes.tech
Middle+

Comment la priorité des applications est-elle déterminée dans le système?

sobes.tech IA

Réponse de l'IA

La priorité d'une application sur Android est déterminée en fonction de plusieurs facteurs, dont les principaux:

  • Activité du composant: Une application ayant des composants actifs (activités au premier plan, services, lancés avec startForeground) a une priorité plus élevée.
  • Utilisation des ressources: Les applications utilisant activement le CPU ou consommant beaucoup de mémoire peuvent être marquées par le système comme ayant une priorité inférieure pour préserver les ressources pour des tâches plus importantes.
  • Interaction avec l'interface utilisateur: Les applications qui interagissent directement avec l'utilisateur à ce moment-là reçoivent la priorité la plus élevée.
  • Lien avec des processus de priorité plus élevée: Un processus auquel un composant est lié (par exemple, un service connecté à une activité) hérite de la priorité d'un processus de priorité plus élevée.

Le système Android utilise ces facteurs pour déterminer le "niveau d'importance" (importance level) d'une application, ce qui détermine en fin de compte la probabilité que son processus soit terminé (tué) en cas de pénurie de mémoire.

Principaux niveaux d'importance des processus:

  • Processus en premier plan: Le processus le plus important. L'application avec une activité visible à l'écran, un service lancé avec startForeground, ou utilisant certaines API (par exemple, lié à une autre activité en premier plan). Ne sera jamais terminé par le système, sauf si des ressources critiques sont épuisées.
  • Processus visible: Processus qui n'ont pas de composants en premier plan, mais qui influencent ce que voit l'utilisateur. Par exemple, un processus contenant un service lié à une activité en premier plan.
  • Processus de service: Processus contenant un service lancé avec startService et non marqué comme service en premier plan. Peut être terminé lorsque la pénurie de mémoire devient grave.
  • Processus en cache: Processus sans composants actifs et conservé en mémoire pour une reprise plus rapide. C'est le processus de moindre importance et le candidat le plus probable à être terminé en cas de pénurie de mémoire.