studio programacion islandia art android dalvik

programacion - Cómo se ejecuta una aplicación de Android en la Máquina Virtual Dalvik.



manual de programacion android pdf (5)

¿Se ejecuta una aplicación de Android en mi teléfono Android con su propia máquina virtual de dalvik (una aplicación de dalvik vm)?

¿O todas las aplicaciones de mi teléfono Android comparten la misma máquina virtual de dalvik? Mi teléfono es Android 2.3.


  1. DVM está diseñado específicamente para android , está diseñado para cubrir la battery life la battery life , la processing power y es free
  2. Estamos utilizando DVM en lugar de Java Virtual Machine(JVM) porque Java, las herramientas de Java son gratuitas, pero JVM no es gratuita, por lo que los desarrolladores de Android de Google han creado su propia máquina virtual y la han hecho tan gratuita.
  3. Una máquina virtual es necesaria porque la máquina virtual ayuda a debugging como una computadora virtual para que mis aplicaciones puedan ejecutar diferentes dispositivos de la misma manera

Representación pictórica:


Basta con echar un vistazo y es fácil de entender: -

Archivo .java - dado a - compilador java - para generar - archivo .class.

todos los archivos .class - dados a - herramienta dx - para generar un solo archivo - dex

archivo dex - dado a - dvm - para generar - código de máquina final.

Código máquina final - dado a - CPU - para ejecutar.


Cada aplicación de Android se ejecuta en su propio proceso, con su propia instancia de la máquina virtual Dalvik. Dalvik se ha escrito para que un dispositivo pueda ejecutar varias máquinas virtuales de manera eficiente.

La máquina virtual de Dalvik ejecuta archivos en el formato ejecutable de Dalvik (.dex), que está optimizado para una huella de memoria mínima.

La máquina virtual se basa en el registro y ejecuta clases compiladas por un compilador de lenguaje Java que se ha transformado en el formato .dex mediante la herramienta "dx" incluida.

También eche un vistazo a Qué es ... La Máquina Virtual Dalvik para una descripción detallada de DVM.


Todo el código fuente básico de apk está en lenguaje java. Cuando creas este proyecto, todos los archivos .java se convierten a .class ahora. La herramienta dx de adk convierte todos los archivos .class en el archivo classes.dex. Y este archivo classes.dex se ejecuta en la máquina virtual dalvik.

Para obtener más información sobre la máquina virtual dalvik: http://www.slideshare.net/jserv/understanding-the-dalvik-virtual-machine

La máquina virtual Dalvik está diseñada para ejecutar varias máquinas virtuales a la vez. Así que cada aplicación se ejecuta en su propio proceso, con su propia instancia de la máquina virtual Dalvik como dice @sahilMahajanMj.

Y este archivo classes.dex se optimiza aún más para odexar el archivo y se guarda en / dalvik / dalvik-cache
Para saber más sobre Odex haga clic en esto .

Si quieres saber por qué DVM para Android, ¿por qué no JVM?


Dalvik es una máquina virtual donde se ejecuta cada aplicación de Android. A través de Dalvik, el dispositivo puede ejecutar múltiples máquinas virtuales a través de una mejor gestión de la memoria, ya que las máquinas virtuales de Dalvik se basan en el registro y, por lo tanto, en la memoria.

Cada aplicación de Android se ejecuta en su propio proceso, con su propia instancia de Dalvik VM. En primer lugar, los archivos Java se convierten a un archivo .class mediante el compilador java. Los archivos .class se asignan a la herramienta "dx" que lo convierte en formato .dex. El archivo .dex se entrega a DVM para producir un código de máquina. El código de la máquina es ejecutado por la CPU

El archivo .apk contiene el archivo .dex en formato zip que se puede ejecutar en las máquinas virtuales de Dalvik

¿Por qué Dalvik? 1. Los DVM están diseñados para la duración de la batería, la potencia de procesamiento y su uso gratuito. 2. Estamos utilizando DVM en lugar de JVM, ya que JVM no es gratis.