GetRunningAppProcesses () devuelve los procesos que fueron destruidos

Estoy utilizando el fragmento siguiente para comprobar si las aplicaciones que he finish() ed ya no funcionan:

 ActivityManager am = (ActivityManager)this.getSystemService(ACTIVITY_SERVICE); List<ActivityManager.RunningAppProcessInfo> procList = am.getRunningAppProcesses(); for (ActivityManager.RunningAppProcessInfo proc : procList) Log.d(TAG, proc.processName); } 

Para mi consternación, algunas aplicaciones que he finish() ed (en su Activity.onCreate (), incluso antes de que tuvieran la oportunidad de lanzar algo), siguen figurando allí.

¿Por qué?

LogCat muestra que estas aplicaciones ' onDestroy() fue definitivamente llamado.

¿Qué se necesita para eliminar realmente una aplicación de esa lista?

¿Es killProcess() mi único recurso?

Este es un área de confusión para muchos, como se puede ver en este otro hilo .

De hecho, incluso este libro de una fuente respetada como O'Reilly puede confundir las cosas al sugerir que el Estado Destruido puede significar "matado" y que puede ser alcanzado desde cualquiera de las onDestroy() o proceso asesinado :

Introduzca aquí la descripción de la imagen

IMHO, ese diagrama de estado O'Reilly es defectuoso y no refleja el comportamiento completo del sistema como lo hace el diagrama "oficial":

Introduzca aquí la descripción de la imagen

Al analizar este diagrama, se puede concluir que onDestroy() nunca conduce automáticamente al proceso de App muerto . Creo que esto responde a su primera pregunta.

En cuanto a la segunda pregunta, la respuesta es : Si realmente quieres matar totalmente el proceso de tu aplicación (¿por qué quieres hacer eso?), Entonces tu único recurso es killProcess () .

  • Transacción entre fragmentos sólo dentro de una pestaña ActionBar
  • Android: ¿cómo puedo abrir otra aplicación de mi aplicación?
  • Forzar la aplicación a reiniciar desde la primera Actividad (cuando se deniega un permiso)
  • Volver a la pantalla de inicio después de terminar Actividad
  • Android: No se ha encontrado actividad para manejar el error de intención? Cómo va a resolver
  • Android: interacción para cambiar de actividad como Administración de fichas de Chrome
  • Reanudar mi solicitud de la misma manera que se reanudó de la historia
  • El botón de retroceso de Android no funciona
  • Reanudar una actividad de una notificación
  • Actividad iniciada desde la notificación abierta en la parte superior de la pila de actividades
  • Android captura de pantalla de la página offscreen
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.