¿Hay casos en los que Android iniciaría una aplicación/servicio que no sea debido a intenciones o al inicio explícito del usuario?

Estoy tratando de entender cómo/por qué algunos de los procesos que se ejecutan en mi teléfono (DroidX, stock 2.2 ROM).

Es obvio que 2 razones probables para que un proceso comience son:

La pregunta es, ¿existen otros motivos/causas/mecanismos por los que se podría iniciar un proceso en Android? ( aparte de Intents o lanzamiento directo).

PD: como teoría plausible, algo podría comenzar con init.rc (ya que Android se basa en Linux), pero no sé lo suficiente sobre las funciones internas de Android para juzgar si inicia alguna aplicación a través de init.rc.

Posiblemente útil: puede usar la aplicación Autostarts para ver todos los diferentes eventos del sistema y qué aplicaciones se registran para ellos.
@Matthew: voy a publicar una pregunta separada sobre los inicios automáticos, de hecho, pero solo como respuesta a su comentario, ¿los inicios automáticos no enumeran simplemente todos los receptores de intención registrados?

Respuestas (1)

Se puede crear un proceso nativo sin formato mediante cualquiera de los mecanismos habituales similares a Unix.

Una actividad o servicio de Android generalmente es bifurcado por zygote (en respuesta a una intención), pero creo que hay una forma oscura de iniciar una máquina virtual a mano usando app_process.

"Mecanismos habituales similares a Unix": ¿podría aclararlo? Estoy interesado específicamente en lo que desencadenaría el inicio del proceso (por ejemplo, ¿alguna entrada de crontab? ¿El programador de procesos reaparece en procesos muertos recientemente? etc.)
Bueno, no hay un demonio cron en este momento, pero cualquiera podría crear uno sin privilegios con una aplicación normal, o rootear e instalar uno real. Lo mismo ocurre con inetd (al menos para los puertos sin privilegios). Y sí, el marco reaparece cosas que no cree que deberían haber muerto. Realmente hay muy poca restricción en la creación de procesos; la seguridad es más en términos de que es bastante difícil iniciar un proceso como un ID de usuario que puede hacer más que ser desagradable con los recursos compartidos.
¿podría aclarar con mayor detalle "el marco vuelve a generar cosas que no cree que deberían haber muerto"? Eso suena significativamente más cerca de lo que estaba buscando como una razón plausible por la que algunos procesos siguen apareciendo en mi teléfono.
@DVK: en algunos casos, los servicios en segundo plano finalizan prematuramente porque la aplicación en primer plano necesita más memoria, es posible que Android reinicie el servicio más tarde para finalizar la operación.