Normalmente mata los procesos en segundo plano si no tienen una notificación persistente. Por qué aplicaciones como WhatsApp y Facebook no se matan?
Respuesta
¿Demasiados anuncios?Android suele matar los procesos en segundo plano si no tienen un notificación persistente.
Bueno, la mayoría de las veces es así, pero Android OutOfMemory Killer (el componente dentro de Android responsable de matar procesos) utiliza una lógica y un criterio bastante complejos para matar aplicaciones y procesos que alojan estas aplicaciones.
En Android, cada aplicación se ejecuta en un proceso Linux. Cada Proceso Linux tiene una Máquina Virtual (Máquina Virtual Dalvik o Máquina Virtual ART) ejecutándose en su interior. Hay un límite en la memoria que un proceso puede demandar y es diferente para diferentes dispositivos y también difiere para teléfonos y tabletas.
Cuando Android se está quedando corto de espacio de memoria (puede ser debido a que muchas aplicaciones se ejecutan simultáneamente en un dispositivo) OutOfMemory asesino entra en escena y empezar a matar a los procesos de aplicaciones que se encuentran en fondo primero.
Ahora, aplicaciones como WhatsApp, Facebook utilizan algo llamado Servicio y mecanismos de notificación Push. El servicio permite que la aplicación ejecute código en segundo plano y, aunque la aplicación sea eliminada por el OOM Killer, Android puede reiniciar el servicio cuando haya suficiente memoria disponible para hacerlo funcionar.
¿Por qué no se matan aplicaciones como whatsapp y Facebook?
Esto no es cierto, ya que Android puede matar aplicaciones en función de su estado (como primer plano o segundo plano). Lo que ocurre es que las aplicaciones y sus componentes (como los servicios) se reinician cuando reciben notificaciones Push, para que el usuario pueda interactuar con la aplicación.
Así, como y cuando se recibe la notificación Push (significa mensaje de WhatsApp), Android puede reiniciar el componente de la aplicación eliminada (en este caso WhatsApp).
De esta forma, Android oculta al usuario los complejos detalles de la gestión de memoria y de procesos y se asegura de que el usuario pueda interactuar con una aplicación sin ningún problema.
3 votos
Porque dirigen un servicio, diría yo :) No estoy usando WA o FB, así que no puedo estar seguro aquí: Para aumentar su prioridad, las aplicaciones pueden registrar un servicio y tener un icono en la bandeja de notificaciones, por lo que el OOM killer las considera "más importantes" y "mata a otras cosas en su lugar", si es posible.
1 votos
Creo que tener un icono en la bandeja es irrelevante (mi WA no lo tiene de todos modos). Mientras el servicio se ejecute como en un "proceso de servicio" o superior prioridad.