Optimizar Android: Velocidad y Batería
Si has llegado a este manual es porque te interesa conocer algunos detalles para conseguir que tu dispositivo Android sea más veloz o, por otro lado, que consuma menos batería y dure más.
En la mayoría de las temáticas (y Android no iba a ser una excepción) siempre ha existido un conjunto de mitos o «leyendas urbanas» que se refuerzan poco a poco y que no se frenan como debería haberse hecho. Por ejemplo, el famoso efecto memoria de las pilas o baterías recargables.
El objetivo de este artículo es dar una serie de 10 consejos para optimizar la velocidad y/o el consumo de batería de esos dispositivos Android con poco procesador o memoria, o simplemente entender el funcionamiento de sus características.
Si quieres saber más sobre ampliar la duración de tu batería, lee también ¿Por qué se me gasta la batería tan rápido?
1. No utilices Task-Killers
Vamos con, probablemente, la leyenda urbana más extendida: la «supuesta necesidad» de utilizar un task-killer (o gestor de tareas) para matar aplicaciones que no estemos utilizando.
Al contrario que los sistemas de escritorio, Android funciona con un esquema ligeramente diferente. La intención es favorecer ciertos comportamientos usuales en este tipo de dispositivos a favor de un buen rendimiento y/o uso de la batería.
Las tareas realizadas en el sistema son categorizadas entre estos 5 tipos (de mayor a menor importancia):
- Primer plano: La tarea se está realizando ahora mismo. (Ej: Revisar correo)
- Procesos visibles: Se visualiza la tarea en la pantalla. (Ej: Navegar por una página)
- Servicios: Procesos "pendientes" de alguna tarea. (Ej: Descargar un MP3...)
- Segundo plano: Una tarea interrumpida que puede ser reanudada, o no (Ej: Cliente de twitter o Gmail)
- Procesos vacíos: Una tarea que se supone finalizada, pero se mantiene porque puede utilizarse en breve (Ej: Market, Reloj)
Una vez dicho esto, hay que aclarar que la creencia de que se necesita tener mucha memoria libre para que todo vaya más rápido es falsa. Se suele asociar como verdadera porque era el modelo que se utilizaba antiguamente, en sistemas de la época de Windows 98 o Windows XP.
Actualmente se tiende a seguir el principio Unused RAM is wasted RAM (memoria no utilizada es memoria desperdiciada), que es el modelo en uso en entornos GNU/Linux, Windows 7, y -como no- en nuestro caso.
«Memoria RAM no utilizada, memoria RAM desperdiciada...»
Por esta razón, Android utiliza casi el 100% de la memoria RAM del teléfono (dejando apenas unos MB libres). Cuándo necesita memoria RAM para otras aplicaciones, simplemente empieza a liberar aplicaciones (en orden inverso de la lista anterior) hasta disponer de la cantidad que necesita.
El problema es que en dispositivos con un hardware muy ajustado (un procesador muy lento, por ejemplo) ese proceso de liberación puede demorarse y reflejar una lentitud considerable.
Sin embargo, demostremos que hay más problemas si usamos task-killers:
- Los task-killers automáticos (que cierran todas las aplicaciones para conseguir más memoria libre) son un peligro, puesto que pueden desactivar alarmas o tareas programadas y que nunca se lleguen a realizar, además de realizar un consumo excesivo de batería por la gestión y monitorización constante de procesos.
- Al liberar aplicaciones, estamos haciendo un uso extra de proceso, lo cuál se reflejará en el consumo de batería.
- Una vez liberada la memoria, Android volverá a continuar con su ciclo habitual de gestión de memoria, por lo que se volverán a cargar aplicaciones en memoria, convirtiendo en inútil el esfuerzo por mantener la RAM libre.
Si quieres saber más sobre el consumo de batería en Android, desde un punto de vista más técnico, aconsejo la traducción de la conferencia de Jeffrey Sharkey (Google I/O 2009) Programando para la vida, de Juan de Dios. Muy recomendable, en serio.
2. Haz overclocking (o underclocking)
Una herramienta interesante para nuestros dispositivos Android es SetCPU, una aplicación que permite, de una manera muy sencilla y totalmente cómoda, overclockear nuestro sistema, aumentando o reduciendo la potencia de nuestro procesador.
Ahorra energía y batería o aumenta velocidad y potencia
Como se ve en la imagen, se puede establecer un límite superior (cuando más procesador se requiere) y un límite inferior (móvil en reposo). Obviamente esto es un arma de doble filo, si aumentamos los valores, conseguiremos mayor velocidad, pero al precio de consumir más batería (y viceversa). También se pueden crear distintos perfiles que se activen automáticamente, dependiendo de diferentes eventos (en carga, temperatura...).
La aplicación es de pago (1,99$), aunque puede conseguirse de forma gratuita para usuarios del foro de XDA Developers. Es necesario ser root.
3. Vigila de cerca a tus aplicaciones
Hemos dicho que matar procesos en Android es una mala idea, sin embargo, tampoco podemos descuidar las aplicaciones que utilizamos.
Algunas aplicaciones (ya sea porque están mal desarrolladas, bugs o simples descuidos) tienen un funcionamiento muy lento y pesado, y pueden llegar a colapsar nuestro dispositivo.
Vigilalos bien, no te fies de ninguno de ellos...
Watchdog Lite es un gestor y monitorizador de tareas, pero con un propósito muy especial: ayudarnos a detectar las aplicaciones que sobrepasan un umbral o tope de uso de procesador, lo que implicaría un posible malfuncionamiento o sobrecarga por parte de dicha aplicación.
Además, podemos ver en todo momento el porcentaje de uso de CPU, memoria consumida y tiempo activo de cada proceso del sistema.
La aplicación Watchdog Lite es gratuita, aunque también tiene una versión de pago (3,49$) con la posibilidad de llevar una lista negra o eliminar banners de publicidad.
4. Elige un Launcher ligero y rápido
Es muy común que los usuarios piensen que el «escritorio» o pantalla de inicio de nuestro Android (donde vemos los widgets, iconos, etc...) es un núcleo que permanece estático en el dispositivo, cuando en realidad no es más que una aplicación más (que se activa al pulsar la tecla de Inicio) llamada Launcher o Home.
Al ser una aplicación más, actúa como tal (cargándose en memoria, siendo liberada si no está siendo utilizada, etc...) y existe la posibilidad de reemplazarse por otros launchers que se adapten mejor a nuestras necesidades (rápido, vistoso, simple...). Más atrás, analizamos en Emezeta 11 launchers gratuitos para Android.
Launcher Pro, mi launcher preferido para Android
Launcher Pro es mi Launcher preferido, puesto que posee varias opciones para optimizar al máximo su uso en dispositivos con un hardware justo.
Otro detalle importante es el de marcar la opción Menu / Preferences / General Settings / Keep in memory, que evitará que el Launcher se descargue de memoria para cargar otras aplicaciones, evitando esa molesta pantalla negra (al pulsar el botón de inicio) que a veces ocurre.
5. Tipo de red
La mayoría de los que utilizamos un dispositivo Android, utilizamos tarifas de datos y nos movemos entre redes 2G o 3G/HDSPA.
Android está diseñado para estar continuamente buscando una red con mejor cobertura, algo que sin duda es de agradecer, pero repercute en la vida de la batería y puede ser innecesario en algunas situaciones o determinados usuarios.
Es por eso, que si en la pantalla para realizar una llamada, tecleamos *#*#4636#*#*, nos aparecerá un menú de mantenimiento donde podemos realizar varios cambios. En el apartado Información del teléfono, en la parte inferior, hay una opción que nos pregunta nuestro tipo de red preferido:
Las opciones que nos interesan son las 4 primeras, puesto que las relativas a CDMA (el resto) no son aplicables en España.
- WCDMA preferred: Utiliza 2G y 3G. Aunque la señal sea débil, busca siempre la mejor forma de establecer conexión vía 3G.
- GSM only: Utiliza 2G. Si la señal es débil, no utiliza ninguna.
- WCDMA only: Utiliza 3G. Si la señal es débil, no utiliza ninguna.
- GSM auto (PRL): Utiliza 2G y 3G. Si la señal es débil, usa 2G.
Por defecto, la selección suele ser WCDMA preferred, donde buscamos la mayor velocidad posible a cualquier precio. Sin embargo, la GSM auto puede ser una buena estrategia para reducir esas búsquedas (y gasto de batería) a favor de sacrificar un poco la cobertura.
6. Ajustar los límites de memoria
Como vimos en el primer punto, los procesos son categorizados en 5 tipos. Y cada tipo tiene un límite de memoria asociado. Si la memoria libre del dispositivo es menor a ese límite, Android comienza a liberar aplicaciones de esa categoría.
Con Autokiller podemos cambiar esos límites, efectuando liberaciones más (o menos) agresivas.
Como siempre, la idea de este sistema no es tener más memoria libre, sino hacer una descarga más inteligente y agresiva de los procesos en memoria, para evitar el «cuello de botella» que se podría producir en dispositivos con procesadores lentos.
Se recomienda no cambiar los primeros 3 parámetros (aplicaciones más activas), aunque es posible hacerlo. También existe una sexta categoría que son los proveedores de contenidos que no tienen ningún cliente asociado (es decir, no están realizando tareas).
Es necesario ser root para ajustar estas opciones.
7. Uso excesivo de widgets
Uno de los consejos más extendidos y escuchados ha sido este: no abuses de los widgets. Sin embargo, con esto no se quiere decir que no se utilicen. Su propósito es sencillo: utiliza los widgets para tareas cortas que realizas muy frecuentemente.
Por ejemplo, tareas frecuentes como mirar el tiempo antes de ir a trabajar podría ser un uso aceptable. Pero... ¿Merece la pena utilizar un widget de reproducción de MP3 si sólo lo utilizamos ocasionalmente?
La virtud es el punto medio entre un
escritorio sin widgets y otro lleno de ellos (Aristóteles)
También es muy importante saber que los widgets que se actualizan muy frecuentemente (o que están mal desarrollados) pueden consumir muchos recursos y desestabilizar nuestro dispositivo.
8. Controla la energía
Otro aspecto lógico e importante que se suele mencionar siempre como consejos iniciales de Android, es que debe deshabilitarse lo que no se utilice.
En principio, no debería haber problema en tener el GPS o el Bluetooth activo, ya que si no se está utilizando desde alguna aplicación, no consumiría batería. Sin embargo, muchas aplicaciones crean servicios o proveedores de contenido que se despiertan y hacen uso si está disponible (el mismo Google Maps para actualizar tu posición).
No por mucho conectar, amanece más temprano...
Por eso, el widget Control de Energía es algo indispensable para desactivar y mantener una conectividad que sólo estemos utilizando. Existen algunos otros widgets como WidgetSoid o Extended Controls (0,99$), que permiten incluir y personalizar más opciones que las 5 básicas de Android.
También hay aplicaciones que podrían ser interesantes para algunas personas, ya que permiten programar la deshabilitación/habilitación de ciertas características (en ciertos horarios, ante ciertos eventos, etc...) como Data on Demand, NetSchedule, JuiceDefender, Network Switcher o Locale (9,99$).
9. Vigila las aplicaciones al iniciar el teléfono
Al instalar aplicaciones, muchas se configuran para arrancarse al encender el dispositivo. Esto es útil y lógico en algunos casos (alarmas programadas, comprobaciones periódicas...) pero también es ilógico en otros casos (programas para descargar música, etc...).
Lo ideal sería que cada aplicación tuviera un sistema para desactivar su arranque como servicio o en el inicio del teléfono, pero como esto muchas veces no es posible, existe una aplicación llamada Autorun Manager.
Esta aplicación permite retirar los programas que se inician automáticamente, e incluso examinar los «receivers» que tienen programados, por si tenemos curiosidad por saber que hacen. Esta opción requiere root para funcionar.
10. Revisa tu Hardware y Software
Es bueno conocer las especificaciones del hardware de nuestro dispositivo (sobretodo cantidad de memoria RAM, tipo y velocidad del procesador). No fiarse de especificaciones no oficiales (muchos proveedores o vendedores no dan toda la información) e investigar un poco antes de adquirir un teléfono sin saber sus prestaciones.
Es muy común que ciertos fabricantes no actualicen a las últimas versiones de Android para sus dispositivos, pero por suerte, en Internet hay cientos de lugares donde varias personas se dedican a crear ROMs (versiones no oficiales) donde a parte de llevarnos las últimas versiones de Android a nuestros dispositivos, incorporan nuevas características, mejoras, aplicaciones integradas o cambios de diseño.
Para ello es necesario ser root (o comprar uno ya rooteado en Geeksphone). Hay grandes comunidades con mucha información sobre Android, root, ROMs y todo tipo de hacks, como XDA Developers (en inglés) o HTCManía, ambas de las más extensas y activas que conozco.