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

Cuando mi teléfono se inicia, hay varias aplicaciones/servicios ejecutándose en segundo plano que preferiría no tener. Y cuando presiono el botón 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?

Esta es una Wiki comunitaria; todos siéntanse libres de agregar y corregir información en la respuesta. :)
En Android 11 en un dispositivo TCL A3, pude desbloquear una aplicación de la siguiente manera: 1. Vaya a la pantalla de inicio. 2. Haga clic en el icono del sistema más a la derecha en la parte inferior derecha (ver tareas). 3. Deslice si es necesario para encontrar la tarea que no se cierra. 4. En la parte superior derecha de la captura de pantalla reducida, debería ver un pequeño icono de candado. Toque una vez para desbloquear (el ícono se vacía), tóquelo nuevamente para bloquear (el ícono se llena). Su toque tiene que golpear el ícono exactamente, lo que significa en su esquina superior izquierda.

Respuestas (2)

Lo primero es lo primero

Es posible que tenga algunos conceptos erróneos sobre cómo funciona Android y qué sucede realmente 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 a 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 ellas. Si le preocupa la duración de la batería o el rendimiento de la CPU, ¡no necesita preocuparse por estas aplicaciones! Tampoco necesita preocuparse por la memoria; 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, despertándose para un chequeo ocasional (nuevas notificaciones de redes sociales, por ejemplo). 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 duración 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 detener esta aplicación 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 al iniciarse o cualquier otra cosa, su primera opción es desinstalarla. ¡Problema resuelto! Puede eliminar las aplicaciones del sistema si tiene la raíz, 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 mayores demonios que vienen con Android son servicios que se ejecutan en segundo plano sin ningún motivo o cuando una simple verificación de intervalo con AlarmManager de Android sería suficiente. Necesitamos matarlos a todos con fuego, y no ignorándolos. Todo lo que no implique una solución por parte del desarrollador es solo un truco que dará como resultado otros efectos secundarios negativos. Si contacta al desarrollador con su problema, pueden arreglar la aplicación y puede seguir usándola normalmente. Eso es una victoria para todos los involucrados.

Eliminación manual de aplicaciones

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 ingresar a Configuración, presionar Aplicaciones y cerrar manualmente la aplicación al pasar a las aplicaciones en ejecución. Alternativamente, puede presionar el botón Aplicaciones recientes y deslizarlas fuera de la pantalla para cerrarlas. En versiones anteriores de Android, el fabricante puede agregar un Administrador de tareas incorporado para lograr lo mismo, o puede descargar una aplicación de administrador de tareas para hacerlo. Para servicios, consulte Settings -> Applications -> Services.

ADVERTENCIA: ¡ No utilice asesinos automáticos de tareas! Los asesinos de tareas automáticos se ejecutan en segundo plano (exactamente lo que no desea) y eliminan las aplicaciones cada vez que se inician. 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 su batería. De manera similar, las aplicaciones que reciben eventos del sistema conocidos como Intents (como la cobertura de la 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 le facilitan la gestión manual de tareas. Se puede usar una aplicación como Tasker o Llama para finalizar actividades cuando cambia de aplicación, por ejemplo, asegurándose de que no permanezcan en segundo plano. Instrucciones para Llamas:

Crea un nuevo Event. Agregue la condición llamada Active Appy elija el estado App stopped or in background. Elija la aplicación en la que desea enfocarse. 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 intentos

Como se mencionó anteriormente, algunas aplicaciones pueden iniciarse cuando reciben Intents (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é Intents se enviarán a qué aplicaciones. Para ambas soluciones, necesitará acceso de root.

Otras opciones:

(El código fuente de inicio automático 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 aplicaciones críticas del sistema.

Congelación de aplicaciones

Puede usar una aplicación como Titanium Backup o App Quarantine para completar la congelación de aplicaciones para que no puedan ejecutarse en absoluto. Si quieres usarlos, primero debes descongelarlos.

ADVERTENCIA: ¡ No haga esto con aplicaciones críticas del sistema! Es posible que su dispositivo no arranque.

Poner aplicaciones en hibernación

Greenify (requiere Android 4.0+ y privilegio ROOT) usa un enfoque diferente llamado "Hibernación", de la "Congelación" tradicional.

Puede hibernar de manera segura cualquier aplicación que no sea del sistema que no desee que se ejecute de forma sigilosa (a través de servicios persistentes, receptores de transmisión, alarmas, etc.), de manera equivalente a "congelar", mientras conserva todas sus entradas (icono del iniciador, objetivo de compartir , etc) y completamente funcional cuando lo ejecuta explícitamente, sin necesidad de descongelarlo primero.

ADVERTENCIA: No hiberne las aplicaciones de reloj despertador, aplicaciones de mensajería instantánea y otras aplicaciones cuya funcionalidad básica se basa en un mecanismo en segundo plano (temporizador, eventos del sistema, "push", etc.) para funcionar.

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 eso. Cuando hay un problema, le recomendamos que opte por la solución más sencilla: la desinstalación. Todas las demás soluciones son trucos para lo que Android está diseñado para hacer. Quizá algún día Android tenga soporte oficial para la gestión de servicios pero, hasta entonces, ojo.

+1. ¡Espléndida respuesta! Pero, ¿qué significa "grandes demonios"? ¿Y qué significa "matar aplicaciones cada vez que se inician"? (Si elimina todas las aplicaciones cada vez que se inician, habría pensado que sería imposible iniciar y usar cualquier aplicación). Sería bueno si pudiera hacerme un ping con una respuesta de comentario que aclare. :)
@unforgettableid "greatest daemons" es un juego de "greatest demons" y "daemons" (servicios). "Eliminar aplicaciones" no significa "eliminar TODAS las aplicaciones".
"Las actividades generalmente no pueden ejecutar cálculos en segundo plano, por lo que no se usa CPU ni batería para ellas". Eso simplemente no es cierto. No hay nada que impida que una actividad inicie subprocesos y los deje en ejecución cuando deja el primer plano. Quizás quisiste decir " Actividades de 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.
@JeffreyBlattman Tiene razón, no dude en editar esto ya que es una respuesta de Community Wiki.
Todo lo que escribes aquí tiene sentido. Sin embargo, noté una ENORME diferencia de rendimiento después de desinstalar una docena de aplicaciones que sospechaba que hacían cosas aleatorias en segundo plano. El problema es que simplemente desinstalarlos no resuelve nada para mí, ya que en realidad necesito la mayoría de esas aplicaciones (la mayoría son aplicaciones bancarias). Desinstalarlos fue solo un experimento. Mi teléfono se volvió notablemente más rápido. Después de reinstalarlos, las cosas volvieron a ser más lentas. Contactar a los desarrolladores de dichas aplicaciones suele ser inútil o, a veces, ni siquiera es posible, al menos en mi experiencia. ¿Alguna otra opción?

Evitar el inicio automático de la aplicación después de reiniciar el dispositivo en Android 13+

Desde Android 13, Google agregó la posibilidad de evitar que las aplicaciones se inicien automáticamente después de reiniciar el dispositivo:

Si el usuario coloca su aplicación en el estado "restringido" para el uso de la batería en segundo plano mientras su aplicación apunta a Android 13, el sistema no entrega la transmisión BOOT_COMPLETED o la transmisión LOCKED_BOOT_COMPLETED hasta que la aplicación se inicia por otros motivos. 1

Esto significa que si un usuario restringe el uso de la batería en segundo plano para una aplicación, no puede iniciarse directamente después de reiniciar el dispositivo. Pero eso requiere que su teléfono ejecute Android 13 o posterior (y que el fabricante se haya hecho cargo de esa función de AOSP) y también la aplicación debe apuntar a Android 13 o posterior.

Para habilitar el modo restringido de batería, abra Configuración de Android -> Aplicaciones (lista de aplicaciones), seleccione una aplicación, abra su configuración de batería y cámbiela a "restringida"