Diferencia entre un asesino de tareas matando una aplicación y el sistema operativo Android Matando una aplicación

¿Hay alguna diferencia entre lo que sucede cuando usas una aplicación Task Killer para matar una aplicación y qué sucede cuando el sistema operativo Android mata una aplicación debido a los escasos recursos?

El SDK de Android dice que el método Application.onTerminate() no se llama cuando el sistema operativo elimina una aplicación debido a recursos escasos. Por lo tanto, suena como el sistema operativo no limpia estrechamente las aplicaciones y que hace exactamente lo que los asesinos de tareas muy debatido hacer.

Si hacen lo mismo, entonces los asesinos de tareas no hacen más daño que el sistema operativo en sí, ¿verdad?

A partir de Froyo no hay diferencia. 🙂 Todo lo que un asesino de tareas puede hacer es matar -9 un proceso cuando está en el fondo, que es lo mismo que hace el OS cuando quiere su memoria. Y sí, esto no es una salida limpia y ordenada, es un matar-el-proceso-muerto-ahora mismo. De hecho, en entornos Android normales, Application.onTerminate () nunca se matará; Los procesos sólo desaparecen matando.

Antes de los asesinos de tareas Froyo tenía acceso a una API diferente – "fuerza de parada" – que les permitió detener mucho más brutalmente todas las aplicaciones. Esto incluye detener los servicios iniciados, eliminar las alarmas registradas, eliminar las notificaciones, etc.

¿Hay alguna diferencia entre lo que sucede cuando usas una aplicación Task Killer para matar una aplicación y qué sucede cuando el sistema operativo Android mata una aplicación debido a los escasos recursos?

Un asesino de tareas nukes la aplicación de la órbita. PendingIntents el proceso, elimina todas las alarmas, elimina todos los PendingIntents registrados (por ejemplo, para las actualizaciones de la ubicación), etc.

En la infrecuente ocasión en la que Android necesita finalizar un proceso para liberar RAM, acaba de terminar el proceso.

Si hacen lo mismo, entonces los asesinos de tareas no hacen más daño que el sistema operativo en sí, ¿verdad?

No, los asesinos de tareas hacen un poco más daño a la aplicación.

AFAIK por experiencia, cuando Android mata una aplicación no se puede contar con que se mate de forma limpia (no hay llamadas para destruir métodos). En cuanto a un asesino de la tarea … bueno, supongo que depende de cómo un asesino de la tarea específica se aplica.

Android hace un gran trabajo de gestión de recursos por sí mismo, pero un asesino de la tarea puede ser útil cuando usted quiere explícitamente matar algo. Y para responder a su pregunta, no creo que un asesino de la tarea hace más daño que cuando Android mata una aplicación.

  • ¿Diferencia entre OnlyOnRanToCompletion y NotOnFaulted?
  • Manejar la instancia existente de actividad raíz al iniciar de nuevo la actividad raíz desde el filtro de intenciones
  • ActivityManager.killBackgroundProcesos diferentes de "Parada de fuerza"
  • Cómo borrar una tarea en Android y cambiar la actividad de la raíz?
  • ¿El nombre del proceso es el mismo que el nombre del paquete en android?
  • Continuar tarea después de terminar todas las tareas
  • Android tarea matar
  • Necesita un ejemplo que muestre cómo realizar solicitudes HTTP asíncronas
  • Android empuja una nueva actividad mientras limpia a otros
  • ¿Cómo regresar a la última actividad lanzada al volver a iniciar la aplicación después de presionar HOME?
  • App pierde su capacidad de recordar su pila cuando se inicia desde otra aplicación
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.