Los terminales actuales que usan Android (teléfono o tableta) pueden tener mucha potencia bruta dependiendo del modelo que tengamos. Esta potencia nos permite ejecutar una gran variedad de aplicaciones que pueden sustituir a un PC. El problema aparece si pensamos que se pueden utilizar como un PC e instalar cualquier aplicación que encontremos. Aunque el terminal tenga capacidad de cálculo, al mismo tiempo depende de una batería. ¿De qué forma afecta al sistema las aplicaciones instaladas? Si tenemos muchas aplicaciones en ejecución podemos degradar en cierta medida la respuesta del sistema. Muchas aplicaciones como las que usan las redes sociales tienen servicios en segundo plano (partes de la aplicación que no se muestran al usuario) y pueden consumir recursos de la CPU, usar las redes de datos o evitar que Android entre en ahorro de energía.

Introducción

Cuando la carga del sistema es grande pueden aparecer mensajes del estilo la aplicación está tardando mucho, pulsa en Aceptar para cerrarla o en el botón Esperar. El mensaje puede salir con una aplicación concreta o con varias. Para saber la causa de que esto aparezca es necesario conocer la forma que usa Android para gestionar las aplicaciones abiertas y el efecto que tiene tener muchas aplicaciones en segundo plano.

Las aplicaciones en Android están formadas por pantallas (de forma muy simplificada). Cada vez que abrimos una pantalla nueva, por ejemplo al editar un campo, el sistema guarda la pantalla inicial en una pila (una estructura de datos) y muestra la pantalla nueva al usuario. La pantalla nueva se colocaría en el nivel superior de la pila. Al acabar la función de la pantalla se liberan los recursos y el sistema muestra la pantalla que había guardado al principio. En la pila podemos tener información de las pantallas de una aplicación determinada o de varios si hemos ido saltando de una aplicación a otra. Cuando una pantalla pasa a la pila la aplicación asociada tiene que reducir sus recursos al mínimo. En el momento que la pantalla principal necesita más recursos, el sistema empieza a liberarlos de las pantallas que están en la parte inferior de la pila.

Ejemplo de aplicaciones

Las siguientes capturas muestran los elementos que están en ejecución en mi teléfono aunque no esté la aplicación abierta. Esto se ve por ejemplo en WhatsApp o Dropbox.

 Procesos abiertos 01Procesos abiertos 01

Procesos abiertos 02Procesos abiertos 02

Para favorecer la experiencia del usuario y que el sistema responda de forma fluida, todas las aplicaciones tienen que generar la pantalla en un tiempo concreto o saldrá el aviso de “la aplicación no responde”. Si la aplicación está bien programada y supera el umbral puede ser por el resto de aplicaciones. Algunas aplicaciones que pueden provocar este comportamiento son los antivirus, Chrome o la última actualización de Gmail.

Algunas veces no es tan evidente la aplicación que provoca el fallo y es necesario partir de una instalación limpia en el sistema, instalar las aplicaciones de una en una y observar si se reproduce el problema. Hay que tener en cuenta que si hacemos un reset de fábrica (soft reset) y restauramos el backup de Google, estaremos restaurando al mismo tiempo la fuente del problema. En caso de necesitar restaurar datos sueltos podéis usar Titanium Backup o Helium si no tenéis permisos de root.

Partes de una aplicación en Android

Las aplicaciones en Android tienen una parte visible (las pantallas) y otra que está oculta y corresponde a los servicios. Podemos tener una aplicación cerrada, es decir, que el usuario no la ha lanzado y que tenga servicios ejecutándose en segundo plano. Si usamos un Widget para mostrar las citas del calendario seguramente usa un servicio para actualizar la información de forma transparente al usuario. Lo mismo ocurre con aplicaciones de mensajería o con aplicaciones genéricas.

Todo depende de como estén programadas. A modo de ejemplo tenemos el encendido del terminal. Cuando el terminal está nuevo (o después de un reset) tarda un tiempo concreto en encenderse. A medida que pasa el tiempo e instalamos aplicaciones, este tiempo aumenta cada vez más. Aparte de las aplicaciones del sistema, hay muchas aplicaciones que se cargan en el inicio provocando el retardo. Aumentan el tiempo de carga y al mismo tiempo consumen recursos del sistema.

Algunas de las aplicaciones del sistema que se cargan en el inicio en mi teléfono son las mostradas en la captura. Sólo muestro una de las pantallas.

Aplicaciones del sistemaAplicaciones del sistema

El listado de las aplicaciones del usuario abarca varias pantallas. Pongo las dos primeras. En el inicio las aplicaciones están cerradas pero afectan al sistema.

Aplicaciones del usuario 01Aplicaciones del usuario 01

Aplicaciones del usuario 02Aplicaciones del usuario 02

Conclusiones

Si bien los terminales con Android son cada vez más potentes y pueden sustituir a un PC. Hay que tener en cuenta que dependen de una batería y que tienen recursos limitados. La primera regla es tener instaladas sólo las aplicaciones que necesitamos en cada momento. Aunque se pueden tener instaladas todas las aplicaciones que queramos, por ejemplo 200, es posible que el rendimiento del sistema se degrade.

No es obligatorio que una aplicación esté en ejecución para que gaste recursos, si usa servicios para su funcionamiento, puede consumir CPU, conexiones de datos o batería. Podemos probar aplicaciones sin problemas (es una de las ventajas de Android) pero hay que quitarlas si no las usamos después de un tiempo. Al hacer esto también se borran los datos asociados pero se pueden guardar si hacemos un backup antes de eliminar la aplicación. Podéis usar los comentarios para resolver cualquier duda que tengáis de este tema.

0 comentarios

Dejar un comentario

¿Quieres unirte a la conversación?
Siéntete libre de contribuir!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.