Ce journal est affiché lorsqu'un processus est tué en raison d'une saturation de la mémoire (OOM). . Il est accompagné de deux codes : le niveau d'ajustement OOM et l'état du processus.
Le code correspondant de ActivityManagerService :
reportUidInfoMessageLocked(TAG,
"Process " + app.processName + " (pid " + pid + ") has died: "
+ ProcessList.makeOomAdjString(setAdj, true) + " "
+ ProcessList.makeProcStateString(setProcState), app.info.uid);
Voici la liste du code source de l'AOSP pour le niveau d'ajustement OOM et l'état du processus.
Niveau d'ajustement OOM
Message
Code
Explication
cch
CACHED_APP_MIN_ADJ
Il s'agit d'un processus n'hébergeant que des activités qui ne sont pas visibles, il peut donc être tué sans aucune perturbation.
svcb
SERVICE_B_ADJ
La liste B de SERVICE_ADJ -- ce sont les services anciens et décrépits qui ne sont pas aussi brillants et intéressants que ceux de la liste A.
Précédent
PRÉCÉDENT_APP_ADJ
Il s'agit du processus de l'application précédente dans laquelle l'utilisateur se trouvait. Ce processus est conservé avant tout autre chose, car il est très courant de revenir à l'application précédente. C'est important à la fois pour le changement de tâche récent (basculer entre les deux applications les plus récentes) et pour le flux normal de l'interface utilisateur, par exemple cliquer sur un URI dans l'application de messagerie pour l'afficher dans le navigateur, puis appuyer sur la touche retour pour revenir à la messagerie.
domicile
HOME_APP_ADJ
Il s'agit d'un processus contenant l'application maison - nous voulons éviter de le tuer, même s'il est normalement en arrière-plan, parce que l'utilisateur interagit beaucoup avec lui.
svc
SERVICE_ADJ
Il s'agit d'un processus détenant un service d'application -- le tuer n'aura pas beaucoup d'impact en ce qui concerne l'utilisateur.
hvy
POIDS LOURD_APP_ADJ
Il s'agit d'un processus dont l'application est lourde. Il est en arrière-plan, mais nous voulons éviter de le tuer. Valeur définie dans system/rootdir/init.rc au démarrage.
bkup
BACKUP_APP_ADJ
Il s'agit d'un processus qui héberge actuellement une opération de sauvegarde. Le tuer n'est pas totalement fatal, mais c'est généralement une mauvaise idée.
prcl
PERCEPTIBLE_LOW_APP_ADJ
Il s'agit d'un processus lié au système (ou à une autre application) qui est plus important que les services, mais qui n'est pas perceptible au point d'affecter immédiatement l'utilisateur s'il est tué.
prcm
PERCEPTIBLE_MEDIUM_APP_ADJ
Il s'agit d'un processus hébergeant des services qui ne sont pas perceptibles par l'utilisateur, mais le client (système) qui s'y lie doit le traiter comme s'il était perceptible et éviter de le tuer si possible.
prcp
PERCEPTIBLE_APP_ADJ
Il s'agit d'un processus n'hébergeant que des composants perceptibles par l'utilisateur, et nous voulons vraiment éviter de les tuer, mais ils ne sont pas immédiatement visibles. La lecture de musique en arrière-plan en est un exemple.
vis
VISIBLE_APP_ADJ
Il s'agit d'un processus qui n'héberge que des activités visibles par l'utilisateur, nous préférons donc qu'elles ne disparaissent pas.
fg
PREMIER PLAN_APP_ADJ
Il s'agit du processus qui exécute l'application au premier plan. Nous préférons ne pas le tuer !
psvc
SERVICE_PERSISTANT_ADJ
Il s'agit d'un processus auquel le système ou un processus persistant est lié et qui est important.
pers
PERSISTANT_PROC_ADJ
Il s'agit d'un processus permanent du système, tel que la téléphonie. Il ne faut surtout pas le tuer, mais ce n'est pas complètement fatal.
sys
SYSTEM_ADJ
Le processus du système s'exécute à l'ajustement par défaut.
ntv
NATIVE_ADJ
Code spécial pour les processus natifs qui ne sont pas gérés par le système (et qui n'ont donc pas d'oom adj assigné par le système).
(nombre entier)
(aucun)
Valeur lorsqu'elle est inférieure au niveau le plus bas défini (NATIVE_ADJ = -1000)
État du processus
Message
Code
Explication
PER
ÉTAT_DU_PROCESSUS_PERSISTANT
Le processus est un processus système persistant.
PÉROU
PROCESS_STATE_PERSISTENT_UI
Le processus est un processus persistant du système et fait de l'interface utilisateur.
TOP
ÉTAT_DU_PROCESSUS_TOP
Le processus héberge les principales activités en cours. Notez que cela couvre toutes les activités visibles par l'utilisateur.
BTOP
PROCESS_STATE_BOUND_TOP
Le processus est lié à une application TOP.
FGS
SERVICE_DE_L'ETAT_DE_PROCESSUS
Le processus héberge un service de premier plan.
BFGS
SERVICE_DE_TRAITEMENT_DE_L'ÉTAT_BORDÉ_DE_L'AVANT-PLAN
Le processus héberge un service de premier plan en raison d'une liaison système.
IMPF
PROCESSUS_ÉTAT_IMPORTANT_AVANT-PLAN
Le processus est important pour l'utilisateur et il en est conscient.
IMPB
ÉTAT_DU_PROCESSUS_IMPORTANT_BACKGROUND
Le processus est important pour l'utilisateur, mais il n'en est pas conscient.
TRNB
PROCESSUS_ÉTAT_TRANSITOIRE_ARRIÈRE-PLAN
Le processus est transitoire en arrière-plan, nous allons donc essayer de continuer à le faire fonctionner.
BKUP
PROCESSUS_ÉTAT_SAUVEGARDE
Le processus est en arrière-plan et exécute une opération de sauvegarde/restauration.
SVC
SERVICE_ÉTAT_PROCESSUS
Le processus est en arrière-plan et exécute un service. Contrairement à oom_adj, ce niveau est utilisé à la fois pour l'état normal d'exécution en arrière-plan et pour l'état d'exécution des opérations.
RCVR
ÉTAT_DU_PROCESSUS_RÉCEPTEUR
Le processus est en arrière-plan et exécute un récepteur. Notez que du point de vue de oom_adj, les récepteurs s'exécutent à un niveau d'avant-plan plus élevé, mais pour notre priorisation ici, ce n'est pas nécessaire et les placer en dessous des services signifie beaucoup moins de changements dans l'état de certains processus lorsqu'ils reçoivent des diffusions.
TPSL
PROCESSUS_ÉTAT_TOP_SLEEPING
Identique à PROCESS_STATE_TOP mais lorsque l'appareil est en sommeil.
HVY
ÉTAT_DU_PROCESSUS_POIDS_LOURD
Le processus est en arrière-plan, mais il ne peut pas restaurer son état et nous voulons donc essayer d'éviter de le tuer.
ACCUEIL
ÉTAT_DU_PROCESSUS_HOME
Le processus est en arrière-plan mais héberge l'activité de la maison.
DERNIER
ÉTAT_DU_PROCESSUS_DERNIÈRE_ACTIVITÉ
Le processus est en arrière-plan mais héberge la dernière activité affichée.
CAC
ÉTAT_DU_PROCESSUS_ACTIVITÉ_MISE_EN_CACHE
Le processus est mis en cache pour une utilisation ultérieure et contient des activités.
CACC
PROCESS_STATE_CACHED_ACTIVITY_CLIENT
Le processus est mis en cache pour une utilisation ultérieure et est un client d'un autre processus mis en cache qui contient des activités.
CRE
ÉTAT_DU_PROCESSUS_MISE_EN_CACHE
Le processus est mis en cache pour une utilisation ultérieure et son activité correspond à une tâche récente existante.
CEM
ÉTAT_DU_PROCESSUS_CACHED_EMPTY
Le processus est mis en cache pour une utilisation ultérieure et est vide.
AUCUN
ÉTAT_DU_PROCESSUS_INEXISTANT
Le processus n'existe pas.
? ?
(aucun)
Valeur par défaut lorsque le code ne figure pas dans la liste.