Cómo gestiona Android los procesos
Windows permite que las aplicaciones de escritorio sigan funcionando, ya sean visibles o no, mientras que iOS de Apple solo permite que las aplicaciones realicen algunas tareas limitadas en segundo plano. Android se encuentra en un punto intermedio: las aplicaciones que se ejecutan en primer plano tienen prioridad, pero las aplicaciones tienen mucha más libertad para ejecutarse en segundo plano que en iOS.
Analizaremos exactamente cómo gestiona Android las aplicaciones y los procesos que se ejecutan en su teléfono o tableta, desmitificando lo que sucede en segundo plano..
La jerarquía del ciclo de vida del proceso
Un proceso en Android puede estar en uno de los cinco estados diferentes en un momento dado, desde el más importante hasta el menos importante:
- 1. Proceso de primer plano: La aplicación que está utilizando se considera el proceso de primer plano. Otros procesos también pueden considerarse procesos en primer plano, por ejemplo, si están interactuando con el proceso que actualmente está en primer plano. Solo hay unos pocos procesos de primer plano en un momento dado.
- 2. Proceso visible: Un proceso visible no está en primer plano, pero sigue afectando lo que ve en su pantalla. Por ejemplo, el proceso en primer plano puede ser un cuadro de diálogo que le permite ver una aplicación detrás de él; la aplicación visible en el fondo sería un proceso visible..
- 3. Proceso de servicio: Un proceso de servicio no está vinculado a ninguna aplicación que esté visible en su pantalla. Sin embargo, está haciendo algo en segundo plano, como reproducir música o descargar datos en segundo plano. Por ejemplo, si empiezas a reproducir música y cambias a otra aplicación, la reproducción de música en segundo plano está siendo manejada por un proceso de servicio..
- 4. Proceso de fondo: Los procesos en segundo plano no son visibles actualmente para el usuario. No tienen ningún impacto en la experiencia de usar el teléfono. En un momento dado, muchos procesos en segundo plano están actualmente en ejecución. Puede pensar en estos procesos en segundo plano como aplicaciones "en pausa". Se guardan en la memoria para que pueda volver a usarlos rápidamente cuando regrese a ellos, pero no está usando el valioso tiempo de CPU u otros recursos que no son de memoria..
- 5. Proceso vacío: Un proceso vacío ya no contiene ningún dato de aplicación. Se puede mantener alrededor para propósitos de almacenamiento en caché para acelerar el lanzamiento de la aplicación más tarde, o el sistema puede matarlo si es necesario.
Por ejemplo, digamos que enciende su teléfono y abre una aplicación de música. Mientras lo usas, la aplicación de música será un proceso de primer plano. Cuando comienzas a reproducir música y dejas la aplicación de música, la música continuará reproduciéndose como un proceso de servicio..
Veamos Angry Birds como otro ejemplo. Angry Birds sería un proceso de primer plano mientras lo jugabas. Cuando abandona Angry Birds e ingresa a la aplicación Gmail para ver su correo electrónico, Angry Birds se convierte en un proceso en segundo plano (porque no tiene que hacer nada en segundo plano), mientras que Gmail se convierte en el proceso en primer plano. Cuando regreses a Angry Birds, se convertirá en tu proceso de primer plano y el juego se reanudará rápidamente. Angry Birds no estaba usando recursos en segundo plano, aparte de algo de RAM, pero se reanuda rápidamente porque se mantuvo en caché y listo para reanudar.
Android gestiona automáticamente los procesos
Android hace un buen trabajo en la gestión automática de estos procesos, por lo que no necesita un asesino de tareas en Android.
Cuando Android necesite más recursos del sistema, comenzará a matar primero los procesos menos importantes. Android comenzará a eliminar los procesos vacíos y en segundo plano para liberar memoria si se está agotando. Si necesita más memoria, por ejemplo, si está jugando un juego especialmente exigente en un dispositivo sin mucha RAM, Android comenzará a anular los procesos de servicio, por lo que su descarga de música y descargas de archivos pueden detenerse..
En la mayoría de los casos, Android hace todo esto sin que tenga que preocuparse por ello. Android utiliza de manera inteligente la memoria RAM de su dispositivo para almacenar aplicaciones en caché y otros datos, porque no tiene sentido dejar la memoria RAM vacía..
Por supuesto, Android proporciona aplicaciones con tanta flexibilidad que tienen espacio para portarse mal. Por ejemplo, una aplicación mal codificada podría iniciar un proceso de servicio que se ejecute en segundo plano todo el tiempo, agotando todo su tiempo de CPU y reduciendo drásticamente la vida útil de la batería..
Una cosa interesante que notarás en aplicaciones antivirus como Avast! Para Android es que la aplicación antivirus utiliza un icono de notificación. Si intenta deshabilitar el icono de notificación, Avast! Lo recomendaré contra eso. Al tener un icono de notificación visible, Avast! se convierte en una aplicación de mayor prioridad, evitando que Android la considere una aplicación de fondo y la mate.
Aplicaciones de Android pueden iniciar en respuesta a eventos
Las aplicaciones de Android también pueden iniciarse en respuesta a los eventos. Por ejemplo, un desarrollador podría programar su aplicación para que se ejecute automáticamente en el inicio y ejecute un servicio en segundo plano. Las aplicaciones pueden iniciarse en respuesta a una variedad de otros eventos, como cuando toma una foto, cuando cambia su conexión de datos, etc. Esto permite que las aplicaciones realicen acciones en respuesta a eventos sin ejecutarse constantemente en segundo plano.
Procesos de gestión
No debería necesitar administrar los procesos manualmente, pero hay algunas formas de hacerlo si lo desea. Puede utilizar el menú multitarea en Android 4.0 y versiones posteriores para realizar una administración básica del proceso. Para acceder a él, toque el botón multitarea dedicado en los dispositivos Nexus. En otros dispositivos Android, es posible que tenga que tocar dos veces o presionar prolongadamente el botón Inicio.
Las aplicaciones mostradas en el menú probablemente se encuentren en el estado de "proceso de fondo". Puedes matarlos al deslizar una aplicación hacia la izquierda o hacia la derecha, lo cual la eliminará de la memoria de tu dispositivo. Esto no debería ser necesario, pero puede ser útil cuando se quiere matar rápidamente una aplicación..
También puede ir a la pantalla de Configuración, tocar Aplicaciones, tocar una aplicación y usar el botón Forzar parada para matar a una aplicación que se comporta mal.
Android se basa en Linux, y cada aplicación en Android se asigna a una ID de usuario de Linux diferente, o cuenta de usuario. Esto aísla las aplicaciones entre sí. Si rooteas tu dispositivo, las aplicaciones pueden escapar de sus entornos limitados de usuario y ejecutarse con privilegios de root.
Crédito de la imagen: JD Hancock en Flickr