¿Cómo puedo detener la ejecución de aplicaciones y servicios?

65

Cuando mi teléfono se inicia, hay varias aplicaciones / servicios ejecutándose en segundo plano que preferiría que no. Y cuando presiono el botón de Inicio mientras uso una aplicación, esa aplicación generalmente pasa a segundo plano sin salir. ¿Cómo puedo detener la ejecución de estas aplicaciones?

Matthew Read
fuente
Esta es una Wiki de la comunidad; todos pueden agregar y corregir información en la respuesta. :)
Matthew leyó el
Meta discusión relacionada: meta.android.stackexchange.com/questions/1119/…
Flujo

Respuestas:

65

Lo primero es lo primero

Es posible que tenga algunas ideas erróneas sobre cómo funciona Android y lo que realmente sucede cuando se ejecuta un servicio o una aplicación está en segundo plano. Ver también: ¿Realmente necesito instalar un administrador de tareas?

La mayoría de las aplicaciones (por ejemplo, las que inicia manualmente) tienen su Actividad actual en segundo plano cuando cambia a otra aplicación o la pantalla de inicio. Las actividades consumen algo de memoria, por lo que puede volver a la aplicación y continuar donde la dejó. Por lo general, las actividades no pueden ejecutar cálculos en segundo plano, por lo que no se utiliza CPU ni batería para ellos. Si le preocupa la duración de la batería o el rendimiento de la CPU, ¡no necesita preocuparse por estas aplicaciones! No necesita preocuparse por la memoria tampoco; Android eliminará automáticamente la aplicación y liberará la memoria si el sistema se está agotando.

Si la aplicación en segundo plano está ejecutando un servicio, esa puede ser una historia diferente. Los servicios bien diseñados pasan la mayor parte de su tiempo durmiendo, y se despiertan para cheques ocasionales (por ejemplo, nuevas notificaciones de redes sociales). Sin embargo, los servicios mal diseñados pueden ejecutarse con más frecuencia o realizar operaciones de sincronización que no desea, lo que afecta la vida útil de la batería y el uso de datos. Si tiene un servicio no autorizado, puede probar una de las soluciones a continuación.

Soluciones

Si está seguro de que desea que esta aplicación se detenga a toda costa, puede probar estos métodos.

Desinstalar

Cuando una aplicación hace algo que no le gusta, ya sea que se ejecute en segundo plano durante el inicio o algo más, su primera opción es desinstalarla. ¡Problema resuelto! Puede eliminar aplicaciones del sistema si tiene root, más fácilmente con Titanium Backup , pero tenga cuidado de eliminar solo el bloatware del operador y no las aplicaciones críticas del sistema.

Sin embargo, si desea poder usar esa aplicación, esta no es una opción: siga leyendo.

Hacer ping al desarrollador

Algunos de los mejores demonios que vienen con Android son servicios que se ejecutan en segundo plano sin ningún motivo o cuando una simple comprobación de intervalos con el AlarmManager de Android sería suficiente. Necesitamos matarlos a todos con fuego, y no ignorándolos. Todo lo que no implica una solución por parte del desarrollador es solo un truco que provocará otros efectos secundarios negativos. Si contacta al desarrollador con su problema, ellos pueden arreglar la aplicación y usted puede seguir usándola normalmente. Esa es una victoria para todos los involucrados.

Aplicaciones de eliminación manual

Primero, tenga en cuenta que muchas aplicaciones se cerrarán por completo si se retira de ellas en lugar de usar el botón Inicio.

Si está ejecutando Ice Cream Sandwich o Jelly Bean, puede ir a Configuración, presionar Aplicaciones y cerrar manualmente la aplicación al presionar las aplicaciones en ejecución. Alternativamente, puede presionar el botón Aplicaciones recientes y deslizarlos fuera de la pantalla para cerrarlos. En versiones anteriores de Android puede haber un Administrador de tareas incorporado agregado por el fabricante para lograr lo mismo, o puede descargar una aplicación de administrador de tareas para hacerlo. Para servicios, mira Settings -> Applications -> Services.

ADVERTENCIA: ¡ No use asesinos de tareas automáticos! Los asesinos de tareas automáticos se ejecutan en segundo plano (exactamente lo que no quieres) y eliminan las aplicaciones cada vez que comienzan. La mayoría de las veces esto empeora las cosas, porque las aplicaciones a menudo consumen más recursos cuando se inician en comparación con cuando están inactivas. Los servicios que se ejecutan automáticamente y son reiniciados por el sistema se eliminarán una y otra vez, desperdiciando la batería. Del mismo modo, las aplicaciones que reciben eventos del sistema conocidos como Intentos (como la cobertura de red y los cambios de conectividad) se eliminarán cada vez que se inicien para recibir un evento. Nada bueno puede venir de eso.

Una posible excepción son las tareas automáticas que se ejecutan solo cuando usted, el usuario, realiza una acción específica. En esencia, solo están facilitando la gestión manual de tareas para usted. Una aplicación como Tasker o Llama se puede usar para finalizar actividades cuando cambias de aplicación, por ejemplo, para asegurarte de que no permanezcan en segundo plano. Instrucciones para Llama:

Crea una nueva Event. Agregue la condición llamada Active Appy elija el estado App stopped or in background. Elija la aplicación en la que desea centrarse. A continuación, agregue un Action. Seleccione Kill Application (root privileges), luego seleccione su aplicación nuevamente.

Ahora, cada vez que salgas de la aplicación, Llama la matará.

Edición de inicios automáticos e intenciones

Como se mencionó anteriormente, algunas aplicaciones pueden comenzar cuando reciben Intentos (eventos del sistema). Al usar una aplicación como Permisos denegados , puede modificar qué permisos pueden solicitar las aplicaciones, lo que a su vez limita los eventos que pueden recibir. O puede usar una aplicación como Autostarts (aplicación paga) para editar específicamente qué intenciones se enviarán a qué aplicaciones. Para ambas soluciones, necesitará acceso root.

Otras opciones:

(El código fuente de Autostarts también está disponible aquí: https://github.com/miracle2k/android-autostarts )

ADVERTENCIA: Esto puede hacer que las aplicaciones dejen de funcionar o inhiban la funcionalidad deseada . Proceda con precaución, especialmente con las aplicaciones críticas del sistema.

Aplicaciones de congelación

Puede usar una aplicación como Titanium Backup o App Quarantine para completar aplicaciones congeladas para que no puedan ejecutarse en absoluto. Si desea usarlos, primero debe descongelarlos.

ADVERTENCIA: ¡ No haga esto con aplicaciones críticas del sistema! Su dispositivo puede fallar al arrancar.

Poner aplicaciones en hibernación

Greenify (requiere Android 4.0+ y privilegio ROOT) utiliza un enfoque diferente llamado "Hibernación", del tradicional "Congelamiento".

Puede hibernar de forma segura cualquier aplicación que no sea del sistema que no desea que se ejecute sigilosamente (a través de servicios persistentes, receptores de transmisión, alarmas, etc.), equivalente a "congelamiento", mientras mantiene todas sus entradas (icono de iniciador, objetivo compartido) , etc.) y totalmente funcional cuando lo ejecuta explícitamente, sin la necesidad de descongelarlo primero.

ADVERTENCIA: No , no hibernatize aplicaciones despertador, aplicaciones de mensajería instantánea y otras aplicaciones cuya funcionalidad básica se basa en el mecanismo de fondo (temporizador, los eventos del sistema "push", etc.) para trabajar.

La línea de fondo

Android está diseñado para encargarse de la administración de aplicaciones por usted. En todos los casos, excepto en los más extremos, no debería preocuparse por ello. Cuando hay un problema, le recomendamos que busque la solución más simple: la desinstalación. Todas las demás soluciones son hacks en torno a lo que Android está diseñado para hacer. Quizás algún día Android tenga soporte oficial para administrar servicios, pero, hasta entonces, tenga cuidado.

Matthew Read
fuente
+1. Espléndida respuesta! Pero, ¿qué significa "grandes demonios"? ¿Y qué significa "matar aplicaciones cada vez que comienzan"? (Si matas cada aplicación cada vez que se inicia, habría pensado que sería imposible iniciar y usar cualquier aplicación). Sería bueno si pudieras enviarme un comentario que aclare. :)
inolvidableid
@unforgettableid "grandes demonios" es un juego de "grandes demonios" y "demonios" (servicios). "Eliminar aplicaciones" no significa "matar TODAS las aplicaciones".
Matthew leyó el
2
"Por lo general, las actividades no pueden ejecutar cálculos en segundo plano, por lo que no se utiliza CPU ni batería para ellos", eso simplemente no es cierto. No hay nada que impida que una actividad inicie hilos y los deje en ejecución cuando deja el primer plano. Tal vez quisiste decir " Actividades con buen comportamiento por lo general ...". Bueno, está bien, pero la preocupación de la mayoría de las personas son las que no se portan bien.
Jeffrey Blattman
@JeffreyBlattman Tienes razón, no dudes en editar esto ya que es una respuesta Wiki de la comunidad.
Matthew leyó el