4 votos

El proceso ha muerto: cch CACC

Tengo una aplicación de 32 bits que se bloquea en un LG-H872. Cuando miro la salida logcat, veo

I ActivityManager: Process my.app (pid 18816) has died: cch  CACC
W cr_ChildProcessConn: onServiceDisconnected (crash or killed by oom): pid=18816

¿Qué significa cch CACC ¿Qué quieres decir?

10voto

Andrew T. Puntos 2107

Este registro se publica cuando un proceso finaliza por falta de memoria (OOM). . Se acompaña de 2 códigos: el nivel de ajuste OOM y el estado del proceso.

El código correspondiente de ActivityManagerService :

reportUidInfoMessageLocked(TAG,
  "Process " + app.processName + " (pid " + pid + ") has died: "
  + ProcessList.makeOomAdjString(setAdj, true) + " "
  + ProcessList.makeProcStateString(setProcState), app.info.uid);

A continuación se muestra la lista del código fuente AOSP para el nivel de ajuste OOM y el estado del proceso.

Nivel de ajuste OOM

Mensaje

Código

Explicación

cch

CACHED_APP_MIN_ADJ

Se trata de un proceso que sólo alberga actividades que no son visibles, por lo que puede ser eliminado sin ninguna interrupción.

svcb

SERVICIO_B_ADJ

La lista B de SERVICE_ADJ: son los servicios viejos y decrépitos que no son tan brillantes e interesantes como los de la lista A.

anterior

APLICACIÓN_ANTERIOR

Este es el proceso de la aplicación anterior en la que se encontraba el usuario. Este proceso se mantiene por encima de otras cosas, porque es muy común volver a la aplicación anterior. Esto es importante tanto para el cambio de tareas recientes (alternar entre las dos aplicaciones recientes superiores) como para el flujo normal de la interfaz de usuario, como hacer clic en un URI en la aplicación de correo electrónico para verlo en el navegador y, a continuación, pulsar atrás para volver al correo electrónico.

Inicio

HOME_APP_ADJ

Este es un proceso que mantiene la aplicación de inicio -- queremos tratar de evitar matarlo, incluso si normalmente estaría en segundo plano, porque el usuario interactúa mucho con él.

svc

SERVICIO_ADJ

Se trata de un proceso que mantiene un servicio de aplicación, por lo que su eliminación no tendrá un gran impacto para el usuario.

hvy

PESO_PESADO_APP_ADJ

Se trata de un proceso con una aplicación de peso. Está en segundo plano, pero queremos evitar matarlo. Valor establecido en system/rootdir/init.rc al inicio.

bkup

BACKUP_APP_ADJ

Se trata de un proceso que actualmente alberga una operación de copia de seguridad. Matarlo no es del todo fatal, pero generalmente es una mala idea.

prcl

PERCEPTIBLE_BAJO_APP_ADJ

Se trata de un proceso obligado por el sistema (u otra aplicación) que es más importante que los servicios, pero no tan perceptible que afecte al usuario inmediatamente si se mata.

prcm

PERCEPTIBLE_MEDIUM_APP_ADJ

Se trata de un proceso que aloja servicios que no son perceptibles para el usuario, pero el cliente (sistema) que se vincula a él solicita tratarlo como si fuera perceptible y evitar matarlo si es posible.

prcp

PERCEPTIBLE_APP_ADJ

Este es un proceso que sólo alberga componentes que son perceptibles para el usuario, y realmente queremos evitar matarlos, pero no son inmediatamente visibles. Un ejemplo es la reproducción de música en segundo plano.

vis

VISIBLE_APP_ADJ

Se trata de un proceso que sólo alberga actividades visibles para el usuario, por lo que preferiríamos que no desaparecieran.

fg

PRIMER PLANO_APP_ADJ

Este es el proceso que ejecuta la aplicación actual en primer plano. Preferiríamos no matarlo.

psvc

SERVICIO_PERSISTENTE_ADJ

Se trata de un proceso al que el sistema o un proceso persistente ha vinculado e indicado que es importante.

pers

PERSISTENT_PROC_ADJ

Se trata de un proceso persistente en el sistema, como la telefonía. Definitivamente no quieres matarlo, pero hacerlo no es completamente fatal.

sys

SISTEMA_ADJ

El proceso del sistema se ejecuta en el ajuste por defecto.

ntv

NATIVO_ADJ

Código especial para procesos nativos que no están siendo gestionados por el sistema (por lo que no tienen un oom adj asignado por el sistema).

(número entero)

(ninguno)

Valor cuando está por debajo del nivel más bajo definido (NATIVE_ADJ = -1000)

Estado del proceso

Mensaje

Código

Explicación

POR

ESTADO_PROCESO_PERSISTENTE

El proceso es un proceso persistente del sistema.

PERÚ

PROCESS_STATE_PERSISTENT_UI

El proceso es un proceso persistente del sistema y está haciendo UI.

TOP

PROCESS_STATE_TOP

El proceso acoge las principales actividades actuales. Tenga en cuenta que esto cubre todas las actividades que son visibles para el usuario.

BTOP

PROCESS_STATE_BOUND_TOP

El proceso está vinculado a una aplicación TOP.

FGS

SERVICIO_DE_PROCESO_DE_ESTADO_ANTICIPADO

El proceso aloja un servicio en primer plano.

BFGS

PROCESS_STATE_BOUND_FOREGROUND_SERVICE

El proceso aloja un servicio en primer plano debido a un enlace del sistema.

IMPF

PROCESS_STATE_IMPORTANT_FOREGROUND

El proceso es importante para el usuario, y algo de lo que es consciente.

IMPB

PROCESO_ESTADO_IMPORTANTE_FONDO

El proceso es importante para el usuario, pero no es algo de lo que sea consciente.

TRNB

PROCESO_ESTADO_TRANSITORIO_FONDO

El proceso está en segundo plano transitorio por lo que intentaremos que siga funcionando.

BKUP

PROCESO_ESTADO_RESPALDO

El proceso está en segundo plano ejecutando una operación de copia de seguridad/restauración.

VPC

SERVICIO_ESTADO_PROCESO

El proceso está en segundo plano ejecutando un servicio. A diferencia de oom_adj, este nivel se utiliza tanto para el estado normal de ejecución en segundo plano como para el estado de ejecución de operaciones.

RCVR

ESTADO_PROCESO_RECEPTOR

El proceso está en segundo plano ejecutando un receptor. Tenga en cuenta que desde la perspectiva de oom_adj, los receptores se ejecutan en un nivel de primer plano superior, pero para nuestra priorización aquí eso no es necesario y ponerlos por debajo de los servicios significa muchos menos cambios en algunos estados de proceso a medida que reciben difusiones.

TPSL

PROCESS_STATE_TOP_SLEEPING

Igual que PROCESS_STATE_TOP pero mientras el dispositivo está en reposo.

HVY

ESTADO_PROCESO_PESADO

El proceso está en segundo plano, pero no puede restaurar su estado, por lo que queremos evitar matarlo.

INICIO

PROCESO_ESTADO_HOME

El proceso está en segundo plano pero alberga la actividad de la casa.

ÚLTIMO

ESTADO_PROCESO_ÚLTIMA_ACTIVIDAD

El proceso está en segundo plano pero alberga la última actividad mostrada.

CAC

PROCESS_STATE_CACHED_ACTIVITY

El proceso se almacena en caché para su uso posterior y contiene actividades.

CACC

PROCESS_STATE_CACHED_ACTIVITY_CLIENT

El proceso se está almacenando en caché para su uso posterior y es un cliente de otro proceso almacenado en caché que contiene actividades.

CRE

PROCESS_STATE_CACHED_RECENT

El proceso se está almacenando en caché para su uso posterior y tiene una actividad que corresponde a una tarea reciente existente.

CEM

PROCESS_STATE_CACHED_EMPTY

El proceso se está almacenando en caché para su uso posterior y está vacío.

NONE

ESTADO_PROCESO_NO_EXISTENTE

El proceso no existe.

??

(ninguno)

Valor por defecto cuando el código no está en la lista.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X