Posible duplicado:
¿Cómo puedo detener la ejecución de aplicaciones y servicios?
Ya hay una pregunta similar a esta, pero la mía tiene un alcance más limitado y no se aborda en la otra pregunta:
Considere el caso de una aplicación que cumple con los siguientes criterios:
¿Puedo evitar que una aplicación de este tipo se ejecute en segundo plano?
Para ilustrar la necesidad de esta pregunta específica y por qué no estoy nombrando aplicaciones específicas, considere lo que tenía en mente cuando escribí esta pregunta:
Me gustaría revisar mis aplicaciones y decidir cuáles quiero ejecutar como servicios. Algunos deberían ejecutarse sin restricciones. Algunos nunca deberían correr. Algunos solo deben ejecutarse cuando se cumple un conjunto de condiciones. Usando la información de una respuesta a esta pregunta, podría implementar esto, posiblemente mediante algún script personalizado, posiblemente usando Tasker, o posiblemente usando otro enfoque. Tratar de manejar esto a través de la configuración de cada aplicación individual sería casi imposible.
Por supuesto, si lo que estoy preguntando en esta pregunta no es posible, entonces esta aplicación no es viable.
Está bien si la aplicación en segundo plano es solo una actividad. Las actividades que solo consumen algo de memoria generalmente no pueden ejecutar cálculos en segundo plano. Por lo tanto, no se utiliza CPU ni batería para ellos. Pero si la aplicación en segundo plano ejecuta un servicio:
¡Haga ping al desarrollador! Uno de los mayores demonios que vienen con Android son los servicios que se ejecutan en segundo plano sin ningún motivo o cuando una simple verificación de intervalos 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 sucio que, según la experiencia, dará como resultado otros efectos secundarios negativos.
Las aplicaciones puras de Android y sus actividades generalmente permanecen en la memoria durante un tiempo después de que se han quitado de la vista. Pero en algún momento pueden ser eliminados por ActivityManager de Android si hay una presión de memoria continua. Este es el comportamiento previsto, nosotros (los usuarios) lo queremos de esa manera y funciona bien en las versiones recientes de Android. Por lo tanto, no hay nada de malo si ve su administrador de archivos dando vueltas en la memoria.
Pero , si se trata de un servicio que ve que se ejecuta para siempre sin motivo aparente (y sin la posibilidad de desactivar el servicio en algún lugar de la configuración de las aplicaciones), debe comunicarse con el desarrollador . En el 99% de todos los casos, no hay razón para desperdiciar su preciada memoria al hacerlo. Android proporciona con las intenciones y el ya mencionado AlarmManager suficientes instalaciones para evitar servicios de ejecución prolongada. A veces, los desarrolladores responderán con "pero Google Maps también hace eso" . Argumento que esto nunca es una excusa para señalar a otros, además de que no proporciona una razón válida para ejecutar un servicio en segundo plano.
¿Puedo evitar que una aplicación de este tipo se ejecute en segundo plano?
Te niegas a aceptar las respuestas que obtienes porque crees que no encajan, pero encajan. Su pregunta es cómo detener las aplicaciones automáticamente en lugar de dejar que se ejecuten en segundo plano. La respuesta que está obteniendo es que, en la mayoría de los casos, esto es innecesario y omite por completo la forma en que se crea Android para tratar con las aplicaciones en segundo plano.
Hay muchas aplicaciones disponibles para matar aplicaciones en segundo plano, también puede deslizarlas o puede usar comandos cortos como "presionar prolongadamente hacia atrás" en ciertas roms para cerrar el proceso. Sin embargo, muy raramente se espera esto del usuario; una aplicación que se comporta mal debe informarse en primer lugar, en lugar de solucionarse.
Si una aplicación "no tiene una necesidad legítima de ejecutarse en segundo plano", pero sigue utilizando los recursos del sistema (asegúrese de que esto sea cierto), entonces esa aplicación está mal diseñada. No es un fallo del sistema operativo Android.
Dicho esto, hay muchas formas de cerrar aplicaciones manualmente. Hacerlo automáticamente no tiene sentido, la mayoría de las aplicaciones se comportan bien.
dd
comando?" y luego negarse a aceptar que cp
es una mejor alternativa. Puedo ver el sentido de responder cada pregunta desde una perspectiva de aprendizaje, pero tampoco queremos confundir a las personas que hacen la pregunta externamente a través de búsquedas, etc.Use Llama , una aplicación que puede automatizar muchas cosas, incluida la eliminación de una aplicación cuando va a una aplicación diferente. Requiere root para matar aplicaciones.
Crea un nuevo Event
. Agregue la condición llamada Active App
y 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á.
Tenga en cuenta que la aplicación puede tener otras formas de iniciarse, como iniciarse en el arranque o recibir un mensaje de texto o cualquier otro Intent
que maneje. Para evitar que los maneje Intents
, use la aplicación Permisos denegados o use una rom personalizada como CyanogenMod que tenga la capacidad incorporada. Estas aplicaciones pueden revocar los permisos para cualquier aplicación (nuevamente, se requiere root).
Editar: parece que la versión gratuita de Permisos denegados ya no está disponible. Todavía puedo acceder a la página de Google Play (porque la tengo instalada), pero ya no está para los nuevos usuarios. Sin embargo, la versión de pago sigue ahí.
Si está ejecutando un sándwich de helado o una gominola, puede acceder a la configuración de las aplicaciones y cerrar manualmente la aplicación al pasar a las aplicaciones en ejecución. Alternativamente, puede presionar el botón de la aplicación reciente y deslizarlos fuera de la pantalla. Sin embargo, este método no obtendrá todos los procesos en segundo plano.
pzkpfw
miente ryan
scott separación
Flujo
t0mm13b
scott separación
cerveza inglesa
chris stratton