Publicidad/Anuncios

Blog de juegos y aplicaciones en expansion

Manejo de memoria en Android (parte 1)

Bueno, primero que nada, créditos al autor Adolfo Massi quien fue el que redactó el texto, lo publico ya que también me pareció interesante este articulo sobre el manejo de memoria en estos dispositivos...

Hace dias lei esto y me parecio interesante. Muchos no saben como se maneja la memoria en Android y por eso o usan task killers o se plantean usarlos, personalmente no los uso (uso el task killer interno) pero aun asi no entendia del todo el manejo de memoria por eso de los foreground processes, background processes, activities, events, etc. Sin embargo en este articulo se esclarecen muchas cosas y espero lo lean es mas ESTAN OBLIGADOS A LEERLO PORQUE LO TRADUJE PARA UDS. xD

Finalmente no tomo creditos por esto porque como dije solo traduje y apenas añadi uno que otro pensamiento y no redacte nada como en mis otros articulos, asi que aqui comienza:


Memoria en Android.

Android es un SO basado en el kernel de Linux, recortado para manejar muy bien la mayoria de las tareas. Usa librerias nativas en codigo abierto C que han usado las "maquinas Linux" durante años. Todas las operaciones basicas de SO como E/S, manejo de memoria y mas son manejadas por el kernel de linux.

Como usar la memoria para cada aplicacion.

El manejo de memoria y procesos es un poco inusual, Como Java y .NET; Android usa su propio runtime y tambien maneja los tiempos de vida de los procesos, Android asegura la respuesta de aplicaciones al matar y detener procesos necesarios para liberar recursos para aplicaciones de alta prioridad.

Cada aplicacion de Android corre en un proceso separado dentro de su propia instancia Dalvik, dejando toda la responsabilidad para memoria y manejo de procesos al runtime de Android, el cual detiene y mata tantos procesos como sean necesarios para manejar recursos.

Dalvik y el runtime de Android "estan arriba" del kernel que maneja interaccion de bajo nivel en el hardware, incluyendo drivers y manejo de memoria, mientras un conjunto de API's provee acceso a todos los servicios, caracteristicas y hardware.

La maquina virtual Dalvik es una maquina virtual basada en registros que ha sido optimizada para asegurar que un dispositivo pueda ejecutar multiples instancias eficientemente. Cuenta con el kernel para manejo de memoria y threading (manejo de hilos).

La maquina virtual Dalvik.

Uno de los elementos clave de Android es la maquina virtual Dalvik, mas alla del uso de una maquina virtual tradicional de Java como JAVA ME, Android usa su propia VM (maquina virtual en ingles) diseñada para asegurar que multiples instancias correran eficientemente en un solo dispositivo.

La Maquina virtual Dalvik usa el kernel para manejar funcionalidad de bajo nivel incluyendo seguridad, threading, procesos y manejo de memoria.

Todo hardware Android y accesos a los servicios del sistema es manejado usando Dalvik como un intermediario. Al usar una maquina virtual para correr la ejecucion de una aplicacion, developers tienen una capa de abstraccion que asegura que ellos nunca tendran que preocuparse por una implementacion en particular de hardware.

La maquina virtual Dalvik ejecuta archivos ejecutables Dalvik (que redundancia), un formato optimizado para asegurar el consumo minimo de memoria. Los ejecutables .dex son creados al transformar las clases compiladas en Java usando las herramientas que vienen dentro del SDK.

Continuará en la próxima publicación...

Publicar un comentario

0 Comentarios