Killing apps/services en Android es generalmente una muy mala idea. Si bien es posible escribir aplicaciones task killer
, no se debe alentar para nada fuera de los propósitos de desarrollo/depuración.
La gestión de tareas es responsabilidad de Android O/S, las tareas que puede ver no son procesos (en el sentido de los procesos que ve en el administrador de tareas de Windows, por ejemplo), de hecho, solo tienen un proceso cuando Android les dice que pueden tener uno.
Las herramientas de administración de tareas regularmente rompen estas aplicaciones, ya que a menudo no se recuperan de la terminación forzada, especialmente si estaban ocupadas escribiendo en un archivo o usando otro recurso cuando se destruyeron. También pone a los usuarios del teléfono en una falsa expectativa de que las aplicaciones enumeradas son realmente EN EJECUCIÓN en su teléfono, que a menudo no lo son. Esto se explica en el [docs ActivityManager] [1]:
información se puede recuperar alrededor de un tarea particular que es actualmente "corriendo" en el sistema. Tenga en cuenta que una tarea en ejecución no significa que la tarea dada tiene un proceso en el que se está ejecutando ; simplemente significa que el usuario ha pasado a ella y nunca cerró, pero en la actualidad el sistema puede haber matado a su proceso y es sólo se aferra a su último estado en para reiniciarlo cuando el usuario vuelve .
Cuando vea la lista de running
aplicaciones en aplicaciones como TaskKiller o Quick System Info, muchos de ellos no están funcionando realmente, no son más que en un estado suspendido. Estas aplicaciones no consumen recursos del sistema porque Android ha decidido detenerlos hasta que se vuelvan a necesitar. Sin embargo, cuando los matas, no les das tiempo para cerrarlos limpiamente, y cuando trates de lanzarlos la próxima vez, se te puede presentar un diálogo de cierre forzado poco amigable. He visto que las aplicaciones se rompen por completo, incluso con una reinstalación que no es efectiva, porque están tratando de leer un archivo dañado en la tarjeta SD, o usan llamadas API no oficiales.
En resumen, los amigos no permiten que los amigos usen Task Killers en Android.
De todos modos, para responder a su pregunta, el ActivityManager
es lo que la mayoría de estas aplicaciones usan para enumerar las actividades que están en ejecución/suspendidas.
freetaskmanager es un ejemplo de uno de estos task managers
en uso.
Ok, ya veo. Gracias por la aclaración. Así que tal vez intentaré escribir mi simple administrador de tareas. – Martin
¡Explicación fantástica! –
Aunque estoy de acuerdo en que matar procesos es una mala idea, creo que en mi teléfono puede ser necesario ya que algunas aplicaciones no proporcionan una manera de cerrarse correctamente y mi teléfono puede volverse bastante lento y no reactivo. Usar un asesino de tareas resuelve este problema. – stealthcopter