Descargo de responsabilidad: no estoy conectado de ninguna manera con los desarrolladores de Greenify, ni estoy tratando de promover Greenify ni nada. Estoy realmente interesado en las respuestas a estas preguntas.
Descubrí que con muchos dispositivos Android que he administrado, se vuelven más lentos cuantas más aplicaciones se instalan en ellos. Esto es especialmente cierto con las aplicaciones que realizan algún tipo de tareas en segundo plano. A menudo, los dispositivos pueden volverse tan lentos que son realmente dolorosos de usar.
La solución que encontré para esto fue una aplicación llamada Greenify , que uso con privilegios de root y un módulo Xposed. Encuentro que puedo mantener todas las aplicaciones en los dispositivos, pero "ecologizar" todas ellas. (Creo que esto significa que las aplicaciones inactivas se "hibernan" constantemente o se les priva de los recursos del sistema, lo que deja los recursos disponibles para las aplicaciones activas). bastante mínimo. No hace falta decir que considero que Greenify es imprescindible, especialmente en dispositivos con muchas aplicaciones que acaparan recursos y/o hardware limitado.
¿Android hace algo similar a Greenify de forma nativa? (¿Privar a las aplicaciones en segundo plano de recursos para liberarlas para aplicaciones activas?)
En caso afirmativo, ¿en qué se diferencia Greenify de la gestión de recursos nativa de Android?
Me parece que muchas personas tienen dispositivos Android que tienden a ralentizarse con el tiempo, y muchos de ellos acaban comprando un dispositivo nuevo y más potente una vez cada pocos años. Pero si usaron Greenify (o algo similar), podrían haber estado satisfechos con el rendimiento del dispositivo anterior durante muchos, muchos años más. Yo, por ejemplo, tengo un teléfono de cinco años, tengo toneladas de aplicaciones y estoy muy contento con su rendimiento cuando uso Greenify. Sin embargo, sin Greenify (y con todas mis aplicaciones), el teléfono es tan lento que apenas se puede utilizar.
Por ejemplo, en las distribuciones de GNU/Linux como Debian y Ubuntu, las aplicaciones no se ejecutan ni consumen ningún recurso a menos que las inicie explícitamente (o las configure para iniciarse al inicio). Es lo mismo con OS X y Windows. Y cuando cierra un programa por completo, ya no puede consumir ningún recurso. Creo que incluso iOS elimina automáticamente las aplicaciones en segundo plano cuando necesita los recursos para otra cosa.
He usado asesinos de tareas manuales, pero después de un tiempo, descubro que todas las aplicaciones vuelven a ejecutarse en segundo plano, incluso si no las he iniciado en absoluto.
Android en realidad cierra algunas aplicaciones en segundo plano, pero solo cuando faltan recursos del sistema (por ejemplo, abres un juego masivo)
Greenify se diferencia de la administración de memoria de Android por el hecho de que elimina todas las aplicaciones que especificó a voluntad o después de cierto tiempo, no solo cuando faltan recursos.
No. Si algunas aplicaciones del sistema que no usa se ejecutan en segundo plano, puede deshabilitarlas o eliminarlas por completo con una aplicación raíz o eladb shell
Aquí está la lista de cosas que sé que pueden iniciar una actividad en segundo plano y mantenerla abierta:
Y @DeathMaskSalesman, un HTC Wildfire S que ejecuta KitKat necesita Greenify, o de lo contrario funcionará increíblemente lento y consumirá mucha batería, más de lo que se necesita para iniciar una aplicación.
Desde el sitio de desarrolladores de Android :
- Si una actividad ha perdido el foco pero aún está visible (es decir, una actividad nueva que no es de tamaño completo o transparente tiene el foco encima de su actividad), se detiene . Una actividad en pausa está completamente viva (mantiene toda la información de estado y miembros y permanece adjunta al administrador de ventanas), pero el sistema puede eliminarla en situaciones de memoria extremadamente baja.
- Si una actividad queda completamente oscurecida por otra actividad, se detiene . Todavía conserva toda la información de estado y miembro, sin embargo, ya no es visible para el usuario, por lo que su ventana está oculta y, a menudo, el sistema la eliminará cuando se necesite memoria en otro lugar.
- Si una actividad se pausa o se detiene, el sistema puede eliminar la actividad de la memoria pidiéndole que finalice o simplemente eliminando su proceso. Cuando se vuelve a mostrar al usuario, debe reiniciarse por completo y restaurarse a su estado anterior.
también :
Por lo tanto, a medida que el sistema se queda sin memoria, puede matar procesos [...] comenzando con el proceso que se usó menos recientemente, pero también teniendo en cuenta qué procesos requieren más memoria.
En lo que respecta a la implementación técnica, el sistema llama a las aplicaciones para informarles que necesitan liberar memoria o corren el riesgo de ser eliminadas:
Además, cuando el proceso de su aplicación está actualmente en caché, puede recibir uno de los siguientes niveles de onTrimMemory():
TRIM_MEMORY_BACKGROUND
El sistema se está quedando sin memoria y su proceso está cerca del comienzo de la lista LRU. Aunque el proceso de su aplicación no corre un alto riesgo de ser eliminado, es posible que el sistema ya esté eliminando procesos en la memoria caché de LRU. Debe liberar recursos que sean fáciles de recuperar para que su proceso permanezca en la lista y se reanude rápidamente cuando el usuario regrese a su aplicación.
TRIM_MEMORY_MODERAR
El sistema se está quedando sin memoria y su proceso está cerca de la mitad de la lista de LRU. Si el sistema se vuelve más limitado por la memoria, existe la posibilidad de que su proceso se elimine.
TRIM_MEMORY_COMPLETE
El sistema se está quedando sin memoria y su proceso es uno de los primeros en morir si el sistema no recupera la memoria ahora. Debe liberar todo lo que no sea crítico para reanudar el estado de su aplicación.
Entonces, para responder directamente a sus preguntas:
No, Android no limpia nada para las aplicaciones, pero les permite saber que lo hagan ellos mismos y las mata si no lo hacen (o si no es suficiente).
Greenify parece desactivar las aplicaciones "sobre la marcha", por lo que no se permite ejecutar nada cuando está en segundo plano (y no se puede iniciar automáticamente cuando no se está ejecutando), pero aún puede hacer cualquier cosa cuando está en primer plano. Esto es completamente diferente de cómo lo hace Android como se ve arriba.
Sí, deshabilítelos (desde Configuración → Aplicaciones → <Nombre de la aplicación>) (aunque tendrá que volver a habilitarlos cuando quiera ejecutarlos manualmente). O, para aquellos que no tienen servicios de reinicio automático, simplemente elimínelos (es decir, mantenga presionado el botón Menú y deslícelos). Esto último no evitará que se reinicien si el sistema les envía un Intent, etc.
No, en absoluto. La verdadera multitarea ha estado disponible durante mucho tiempo en los dispositivos móviles: el iPhone original era una rareza cuando se lanzó sin esa capacidad.
Grimorio
Señor del Fuego
am force-stop PACKAGE
. Eso es todo.Fiksdal
Señor del Fuego
Fiksdal