viernes, 29 de mayo de 2015

Maquina Virtual Dalvik

Dalvik es una máquina virtual intérprete que ejecuta archivos en el formato Dalvik Executable (*.dex), un formato optimizado para el almacenamiento eficiente y ejecución mapeable en memoria. Su objetivo fundamental es el mismo que cualquier máquina virtual, permite que el código sea compilado a un bytecode independiente de la máquina en la que se va a ejecutar, y la máquina virtual interpreta este  bytecode a la hora de ejecutar el programa. Una de las razones por las cuáles no se optó por utilizar la máquina virtual de Java es la necesidad de optimizar al máximo los recursos y enfocar el funcionamiento de los programas hacia un entorno dónde los recursos de memoria, procesador y almacenamiento  son escasos.
Dalvik está basada en registros y puede ejecutar clases compiladas por un compilador Java y que posteriormente han sido convertidas al formato nativo usando la herramienta “dx”. El hecho de que corra sobre un kernel Linux le permite delegar las tareas relacionadas con la gestión de hilos y memoria a bajo nivel.
El objetivo de esto es proteger a las aplicaciones, de forma que el cierre o fallo inesperado de alguna de ellas no afecte de ninguna forma a las demás.
Dalvik y la optimización en aplicaciones Android

El uso de Dalvik permite reducir bastante el tamaño del programa buscando información duplicada en las diversas clases y reutilizándola.
Lo que llamamos en Java como “recolectar basura”, que libera el espacio en memoria de objetos que ya no utilizamos en nuestros programas, ha sido perfeccionada en Android con el fin de mantener siempre libre la máxima memoria posible-

Dalvik != Java Virtual Machine


La máquina virtual de Java, que podemos encontrar en casi todas las PC’s actuales, se basa en el uso de las pilas. De modo contrario, Dalvik utiliza los registros, ya que los teléfonos móviles están optimizados para la ejecución basada en los mismos.

No hay comentarios:

Publicar un comentario