El Cofrecito
Tecnología y algo más
  • Inicio
  • Acerca de …

Mejorar el rendimiento de Android modificando el manejo de memoria RAM

febrero 12, 2010
celulares
357610 comentarioshttp%3A%2F%2Felcofrecito.net%2Fcelulares%2Fmejorar-el-rendimiento-de-android-modificando-el-manejo-de-memoria-ram%2FMejorar+el+rendimiento+de+Android+modificando+el+manejo+de+memoria+RAM2010-02-12+18%3A42%3A22Felipehttp%3A%2F%2Felcofrecito.net%2F%3Fp%3D3576
Agregar a delicious

Nota: a pesar que este hack sea seguro, no me hago responsable que tu Android se convierta en un hermoso pisapapeles o explote en mil pedazos. Para aplicar este hack debes tener acceso root en Android.

A diferencia del iPhone OS, Android es un sistema operativo multitarea, lo que implica que puede haber varias aplicaciones y procesos ejecutándose al mismo tiempo. Si utilizan Android habrán notado que a medida que abren y cierran aplicaciones la interfaz se puede ralentizar. Uno de los motivos es que ciertas aplicaciones no tienen una opción para que las cerremos explícitamente y quedan corriendo en segundo plano hasta que Android decida matarlas para liberar RAM. Esto es molesto ya que obliga a los usuarios a instalar aplicaciones que permitan finalizar manualmente estos procesos “colgados” para que el rendimiento del celular no decaiga.

El tema reside en cómo Android gestiona la memoria RAM. Mientras haya disponible memoria RAM, Android hará lo posible por mantener dichas aplicaciones y procesos en ella. Si en algún momento iniciamos una aplicación y Android detecta que sólo hay disponible cierta cantidad de RAM, procederá a matar algún proceso o aplicación que esté residente en memoria en base a ciertos parámetros y un algoritmo.

La explicación sencilla de como Android decide matar los procesos se basa en que existen 6 niveles de procesos (1-primer plano, 2-visible, 3-segundo plano, 4-oculto, 5-proveedor de contenidos y 6-vacío) que determina la importancia de cada uno al momento de decidir si matarlo o no. Los de nivel 1 son las más importantes y los de nivel 6 son los primeros que se pueden terminar. Además para cada uno de estos niveles hay un límite mínimo de memoria a partir del cual Android comenzará a matar procesos de dicho nivel. Por ejemplo, podemos especificar que las aplicaciones o procesor de nivel 6 se deben empezar a liberar cuando haya menos de 26MB de RAM libres.

Para ver los valores que por defecto trae Android ejecuten el siguiente comando desde una terminal en Android. Pueden usar la aplicación “Better Terminal” o “Terminal Emulator”:

# cat /sys/module/lowmemorykiller/parameters/minfree

Con lo que obtendrán los valores de páginas 1536,2048,4096,5120,5632,6144 que corresponde a los niveles 1,2,3,4,5,6

Gracias a la apertura de Android, podemos modificar estos parámetros y jugar con ellos hasta obtener el mejor rendimiento para nuestro celular. Estos parámetros se especifican en el archivo /sys/module/lowmemorykiller/parameters/minfree y los valores corresponden a páginas. Como 1 página = 4KB, entonces un valor de 6656 equivale a 26MB (6656*4/1024). Tomando como referencia los valores por defecto del HTC Magic “1536,2048,4096,5120,5632,6144″, creo que son demasiados permisivos y hacen que queden muchas aplicaciones en memoria consumiendo recursos. Por lo tanto, podemos modificarlos para que Android adopte una postura más agresiva en cuanto al cierre de aplicaciones que no usamos.

Para conocer que valores aplicar, me basé en la memoria libre promedio del Magic, que durante varios meses noté que estaba entre 26-30MB. Pueden saber cuanta memoria tienen libre ejecutando el comando cat /proc/meminfo. Allí sumen los valores de los campos MemFree y Cached para obtener el total de RAM disponible para aplicaciones.

Por lo tanto decidí probar con los siguientes valores “1536,2048,4096,6144,6656,7168″ y la mejora en el rendimiento fue notoria. Las aplicaciones se abren y cierran mucho más rápido, y el desplazamiento por la interfaz es mucho más fluído. Al volver a Home desde una aplicación, sobre todo el navegador que suele consumir bastante memoria, no estoy 2 horas esperando que me muestre los iconos.

Para probar y aplicar temporalmente los nuevos valores deben ejecutar el siguiente comando:

# su echo "1536,2048,4096,6144,6656,7168" > /sys/module/lowmemorykiller/parameters/minfree

Tengan presente que al reiniciar el teléfono perderán este cambio, por lo tanto no tienen nada de que preocuparse si meten la pata o si no quieren mantenerlo.

Finalmente, una vez que encontraron los valores adecuados para su modelo de celular en particular, existen aplicaciones en el Android Market que nos permiten establecer estos valores de manera permanente.

AutoKiller

android-autokiller

Auto Memory Manager

android-Auto-Memory-Manager

MinFreeManager

android-minfreemanager

Si quieren leer la explicación detallada acerca del gestor interno de baja memoria de Android pueden leer este post en xda-developers.

Me olvidaba! Lo mejor de esto es que se pueden olvidar para siempre de los “task killers” para Android.

Etiquetas: Android, Android Auto Memory Manager, Android AutoKiller, Android MinFreeManager, celulares, smartphones, trucos, trucos Android

Entradas relacionadas

  • Android Bootcamp Santa Fe GTUG
  • Cómo actualizar el Nexus One a Android 2.3.3
  • Como crear tu propia ROM de Android (parte 1)
  • Google I/O 2010 ya tiene fecha

Si te gustó el post, podés dejar tu comentario o suscribirte al feed para recibir los últimos artículos en tu email.

Comentarios
Comentario por nicko el noviembre 14, 2010 @ 4:22 am

Excelente artículo. Conocía algunas de las aplicaciones mencionadas, pero no comprendía el funcionamiento de la eliminación de procesos en Android.
Ahora lo veo todo claro :)

Comentario por sergio el marzo 4, 2011 @ 11:59 am

Muy Buena la explicacion, pero me quedo con el auto memory manager no vaya a ser que me quede con la galaxy de pisapapel..jeje

Comentario por Luis Americo el junio 6, 2011 @ 12:25 am

Gracias por la información. Resulto efectivo para Movil Samsung spica 5700. Funciona mejor, se me colgaba a cada rato. Me tenia estresado

Comentario por victor el julio 2, 2011 @ 6:04 pm

Disculpa la,verdad estoy muy atrazado en informacion hacerca de todo lo que tiene que ver con la tecnologia de los celulares , tengo un android que compre hace casi año y medio pero se me ha,hecho demasiado lento y quiero mejorarlo como puedo hacerlo te agradeseria una hayuda y gracias de antemano

Comentario por carlos menem el julio 11, 2011 @ 3:10 pm

primero comprate o bajate alguna aplicacion de diccionario, sos un desastre escribiendo!

Comentario por raul el agosto 22, 2011 @ 10:39 am

Muy buena info, ahora a probar que valores son los mas adecuados para mi galaxy s para que aguante mas la bateria con CM7

Comentario por javier el agosto 27, 2011 @ 3:11 am

Muy buen post, me gustaria intentarlo, lo que no se es si puedo hacerlo en un xperia x10i con android 2.3.3?
Y también otra cosa, esas app q publicaste funcionan solo con usuarios root? Y si los valores que les ingresamos los tenemos que ir probando o vienen por defecto?
Gracias de antemano y denuevo, muy buen post! (y)

Comentario por Roberto el septiembre 6, 2011 @ 6:20 pm

Creo que el problema de Android es la falta de responsabilidad de quienes diseñan las aplicaciones. En Windows pocas aplicaciones permanecen en segundo plano de manera innecesaria y se inician solas. En cambio en Android, aun aplicaciones inútiles lo hacen. El manejo de procesos, es el único punto débil de este SO. Google debería hacer algo al respecto, para que sea mas competitivo.

Comentario por Juan ramirez el septiembre 7, 2011 @ 7:52 pm

Muy,bien

Comentario por paco el diciembre 9, 2011 @ 5:16 am

Y esa coma¿? No sería : Muy bien?? Pregunto….

Deja tu comentario

(requuerido)

(requerido)


Lee "El Cofrecito" desde tu lector RSS favorito

Suscribite

 

Recibe los artículos en tu email

Buscar artículos

Ultimas entradas

  • En San Francisco para cubrir el Google I/O 2011
  • Android Bootcamp Santa Fe GTUG
  • Cómo actualizar el Nexus One a Android 2.3.3
  • Diagrama de Flujo de la Procastinación
  • “Bring The Light”, primer tema de difusión de Beady Eye
  • Máscara de V for Vendetta para imprimir en tamaño real
  • Google celebra los 70 años de John Lennon con un Video Doddle
  • Recorriendo París en 2 minutos con Google Street View [video]
  • Cronología del derrame de petróleo de BP en el Golfo de México
  • Java 4-ever: la pesadilla de los desarrolladores .Net

Ultimos comentarios

Populares

3G Android aniversario apple campo celulares Coldplay concurso Dell dinero disco diseño elecciones estadisticas eventos Firefox Firefox 3 Geek Google Google IO Humor iconos iPhone Java JavaScript linux Lost Lost 6 temporada Mac microblogging microsoft Música Oasis Películas publicidad Redes Sociales rss star wars Twitter Videos wallpapers web 2.0 windows Windows Vista WordPress
  • Categorías

    • Actualidad
    • Adsense
    • Ajax
    • Autos
    • celulares
    • Ciencia
    • CSS
    • Deportes
    • Diseño Web
    • Ecología
    • Economía
    • emprendimientos
    • Firefox
    • frases
    • futbol
    • Gadgets
    • Geek
    • General
    • hardware
    • Humor
    • Imágenes
    • informática
    • Internet
    • Java
    • JavaScript
    • Móviles
    • Música
    • My News
    • Películas
    • Personal
    • Política
    • Programación
    • Rally Mundial
    • Redes Sociales
    • SEO
    • Software
    • Tech Tips
    • Tecnología
    • Televisión
    • Tenis
    • viajes
    • Video Games
    • Videos
    • windows
    • WordPress
  • Archivo

    • mayo 2011
    • abril 2011
    • febrero 2011
    • noviembre 2010
    • octubre 2010
    • agosto 2010
    • junio 2010
    • mayo 2010
    • abril 2010
    • marzo 2010
    • febrero 2010
    • diciembre 2009
    • octubre 2009
    • agosto 2009
    • julio 2009
    • junio 2009
    • mayo 2009
    • abril 2009
    • marzo 2009
    • febrero 2009
    • enero 2009
    • diciembre 2008
    • noviembre 2008
    • octubre 2008
    • septiembre 2008
    • agosto 2008
    • julio 2008
    • junio 2008
    • mayo 2008
    • abril 2008
    • marzo 2008
    • febrero 2008
    • enero 2008
  • Blogroll

    • Hora en Mexico
    • Hora exacta en Buenos Aires
    • Materia Geek

Creado con Wordpress | WP Premium theme por WP Remix
Traducido al español por Feli
Copyright 2007. El Cofrecito. Todos los derechos reservados

  • Responsabilidad Legal y Política de Privacidad