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...
0 Comentarios
Escribe tu comentario