Algunos de vosotros nos leeis desde hace algún tiempo, otros sois nuevos por aquí, y de entre los nuevos además, algunos tenéis unos conocimientos menos especializados, por lo que, aunque algunos ya habréis visto algún post sobre este tema, es conveniente recordarlos de vez en cuando.
Antes de nada es conveniente que entendáis algunos conceptos como por ejemplo que Android es un sistema multitarea, ¿qué quiere decir esto? Pues simplemente que, al igual que ocurre con vuestros ordenadores, varias aplicaciones pueden estar haciendo uso de los recursos del dispositivo. En el caso de sistemas como Windows, a medida que se van abriendo aplicaciones, la mala gestión de los recursos puede obligarnos a ir cerrando aplicaciones para favorecer el correcto rendimiento del sistema, pero Android no es Windows…
¿Cómo funciona la gestión de recursos en Android?
Desde hace ya unas cuantas versiones, Android se encarga de gestionar sus propios procesos. De entrada, a medida que se van abriendo aplicaciones, va cargando la RAM. De esa manera cuando necesitamos abrir una aplicación que ya hayamos abierto con anterioridad, nuestro dispositivo simplemente cargará datos de la RAM, con la consiguiente ganancia en velocidad y consumo (cargar datos desde RAM es bastante más ligero que hacerlo desde almacenamiento externo o desde la partición de sistema). En caso de que el número de aplicaciones en RAM aumente más de lo adecuado, simplemente el sistema irá cerrando aplicaciones, quitándonos de nuestra memoria aquellas que no sean necesarias (las menos accedidas, las que más rato llevan en estado de parón, etc…). Además, al estar paradas completamente, el sistema ha gastado unos recursos en meterlas en memoria, pero consume muy poco para rescatarlas de dicho estado y prácticamente nada para mantenerlas y además el procesador no emplea sus valiosos ciclos en ellas, pues no es necesario.
Pero entonces, ¿qué más da usar un task killer?
Pues sí… sólo que no…
Android gestiona los recursos de forma interna y, aunque el simil pueda parecer algo burdo, es como cuando tienes una mesa con papeles organizados de forma caótica: si alguien llega y los ordena, estropea ese orden que sólo tú sabías entender. Sólo el sistema sabe entender su “orden” con la memoria y si decidimos alterarlo arbitrariamente no permitiremos que haga bien su trabajo.
De esta forma, si automatizamos mediante una aplicación de terceros la gestión de las tareas tenemos, por un lado, que hay una aplicación más corriendo en nuestro sistema que además SÍ va a consumir recursos del procesador, pues debido a su función debe mantenerse en ejecución tanto como sea posible; por otro, que esta aplicación va a eliminar otras que estaban en suspensión sin preguntar a nadie, obligando a que cuando el sistema intente rescatarlas deban cargarse datos desde otros almacenamientos (que requieren mayor tiempo y consumo), ocasionando de esta forma que nuestro sistema no ahorre tiempo ni batería (de hecho gastarían más). Además, hay aplicaciones como los gestores externos de alarmas que, de ser cerrados manualmente, pierden su función principal, con lo que debemos tener mucho cuidado con qué cerramos o permitimos que el programa cierre.
¿Y si tengo una aplicación que consuma recursos a lo bestia?
Entonces lo que debes hacer como mejor solución es, mediante un programa de control de recursos, comprobar cual de los programas en ejecución se está llevando por delante la capacidad de tu procesador cuando se supone que debería estar suspendido esperando. En ese caso esa aplicación debemos desinstalarla (sin piedad ninguna) y sustituirla por una equivalente pero que no nos cause esos problemas.
Si queréis saber un poco más podéis echar un vistazo a este artículo de HowToGeek.