4 de mayo de 2012

Tareas del Sistema en Android

Ingeniería de Dispositivos Móviles
Laboratorio: Publicación 12
Para introducir a esta entrada comento primero acerca del mito que muchos seguimos creyendo acerca de nuestro teléfono con sistema Android. Se trata de la creencia de que el uso de task-killers, donde su uso es detener tareas ejecutándose y que están utilizando RAM, ayuda considerablemente en el rendimiento de nuestro dispositivo, o como muchos decimos, hace que este "más rápido".

El hecho es que Android funciona muy diferente a cualquier sistema operativo de computadora a los que estamos acostumbrados. La intención que tienen los desarrolladores, es favorecer ciertos comportamientos usuales en los dispositivos móviles, a favor de un buen rendimiento y uso de la batería.

Las tareas realizadas por el sistema de Android se pueden clasificar en 5 tipos diferentes, mencionadas en orden de importancia:

  1. Primer plano: La tarea se está realizando ahora mismo.
  2. Procesos visibles: Se visualiza la tarea en la pantalla.
  3. Servicios: Procesos "pendientes" de alguna tarea.
  4. Segundo plano: Una tarea interrumpida que puede ser reanudada, o no.
  5. Procesos vacíos: Una tarea que se supone finalizada, pero se mantiene porque puede utilizarse en breve.


Entonces no es necesario tener mucha memoria libre para que todo vaya más rápido. Lo solemos asociar por el modelo de sistemas operativos como Windows XP, donde si liberábamos un poco nuestra RAM los demás programas corrían mucho mejor.

Actualmente se usa el principio de Memoria no utilizada, es memoria gastada (Unused RAM is wasted RAM), que aplica para entornos tipo GNU/Linux, Windows 7 y ahora Android para nuestro caso (que en realidad también usa el sistema Linux).

Así que si vemos la cantidad de memoria RAM utilizada en nuestro dispositivo con Android, veremos que casi siempre esta utilizando todo lo disponible y solo deja unos cuantos MB de memoria libre.

Lo que hace cuando una aplicación diferente se abre, y se necesita una cantidad grande de RAM para esta, empieza a liberar aplicaciones hasta disponer de la cantidad que se necesita para la nueva.

Lo que en realidad es un problema es cuando los dispositivos con pocos recursos de hardware, como uno con poca velocidad de procesador, es que el tiempo que tarda para liberar esa RAM para la nueva aplicación abierta, suele tardar más.

Uso de recursos de las aplicaciones


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.


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.

¿Cómo funciona la memoria RAM en Android?


En Android, al igual que en otros sistemas basados en Unix, al contrario de lo que muchos pensáis, la memoria RAM no usada, es memoria RAM desaprovechada. Es decir, que en Android, no es óptimo tener 600MB de memoria RAM libre, sino el mínimo posible, sin llegar nunca al máximo que puede dar de si la memoria RAM de nuestro Android.

Es mucho mejor y más eficiente desde un punto de vista de rendimiento y consumo de batería tener las aplicaciones que más usamos “precargadas” en la memoria RAM que no que esta esté enteramente disponible pero las aplicaciones se tengan que cargar desde la memoria ROM o sólida. Aqui entra el tema de los task killers, muy polémico en este pequeño mundo de androides. Lo que realmente hace un task killer es matar aquellos procesos o aplicaciones que nosotros escojamos, obligando a eliminarlas de la memoria RAM. De este modo, cuando volvamos a abrir una aplicación que hemos “matado”, no solo se abrirá de forma más lenta pues se tendrá que cargar desde la memoria ROM, sino que al abrirla, esta acción consumirá más batería, pues usará prácticamente todo el rendimiento de la CPU para abrirla desde la memoria ROM. Si esta estuviera aún “viva” en la memoria RAM, el consumo de la CPU sería menos elevado y su velocidad de apertura mucho mayor debido a que la memoria RAM escribe y lee mucho más rápido.

Crear partición SWAP en Android


En términos generales el swap o la partición de memoria es hacer memoria adicional para un prosesador, pero solamente me limitare al android. Básicamente nuestro dispositivo android suele venir con determinada mmemoria RAM, el swap lo que hará es particionar tu memoria micro SD para que tu android tenga más memoria RAM de la que tiene.

Requisitos:
  • Tener android 2.1+ en adelante.
  • Tener permisos de superusuario o acceso root en tu android.
  • Tener alguna ROM Cyanogenmod o cualquier otro desarrollador.

Necesitas tener tu celular rooteado o acceso root para poder activar el permiso de superusuario, tener suficiente memoria expandible (recomendable desde 4 GB en adenlante) y ser usuario de alguna ROM cocinada de Cyanogenmod o cualquier otro desarrollador de Roms para android. Para poder hacer el sawp necesitaras una aplicación llamada "Swapper".


La aplicación es sencilla, y solo hace su función, activas la memoria SWAP y seleccionas cuanto quieres dar a esa partición.

Tiene la opción de activar y desactivar el SWAP, ya que si conectamos directo a la computadora con cable USB puede haber conflicto al tener varias particiones, por lo que se recomienda desactivar cada vez que se va a conectar con cable a la computadora.

Bibliografía
Optimizar tu Android
RAM en Android
Partición SWAP en Android

1 comentario:

Nota: solo los miembros de este blog pueden publicar comentarios.