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
35760 comentarioshttp://elcofrecito.net/celulares/mejorar-el-rendimiento-de-android-modificando-el-manejo-de-memoria-ram/Mejorar+el+rendimiento+de+Android+modificando+el+manejo+de+memoria+RAM2010-02-12+18%3A42%3A22Felipe
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

  • Como crear tu propia ROM de Android (parte 1)
  • Google I/O 2010 ya tiene fecha
  • Resumen del evento sobre webOS y Palm Pre
  • Manos encima del iPhone 3GS

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

This website uses IntenseDebate comments, but they are not currently loaded because either your browser doesn't support JavaScript, or they didn't load fast enough.

Comentarios

Ningún comentario.

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

  • Cronología del derrame de petróleo de BP en el Golfo de México
  • Java 4-ever: la pesadilla de los desarrolladores .Net
  • PacMan vs Mario
  • Nuestro Sistema Solar creado con CSS3
  • Descargar Lost 6×17 “The End”
  • Descargar Lost 6×16 “What They Died For”
  • Google I/O 2010 este miércoles y jueves
  • Descargar Lost 6×15 “Across The Sea”
  • Descargar Lost 6×14 “El Candidato”
  • Descargar Lost 6×13 “El último recluta”

Ultimos comentarios

  • vladimir: Don Henley -Dirty Laundry Bruce Hornsby
  • manu: como se pude desargar PACMAN!!! Urgente
  • goruse: que malo pues nimodo
  • Reyes: masi tenemos el mismo problema lo
  • Adolfo Valdez: “QUE FALTA DE ETICA PROFESIONAL DE
  • Adolfo Valdez: “QUE FALTA DE ETICA PROFESIONAL
  • lucia: son exelentes para chicoooooooooooos!!!!!!!!!!! :)
  • gabriela: gracias!!!!!!!!
  • Perla Simeone: Vaya tio que buena...por fin!!! después
  • viviana: Apoyo incondicionalmente a Diego, no te

Populares

3G Android aniversario apple campo celulares Coldplay concurso crisis Dell dinero disco diseño elecciones estadisticas eventos Firefox Firefox 3 Geek Google 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

    • 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

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