Hay pocas cosas … a diferencia de Java, donde el punto de entrada es el método principal … Android tiene pocas funciones como oncreate … onresume, etc. El bytecode de Java no se ejecuta. En cambio, las clases de Java se compilan en un formato de código de bytes patentado y se ejecutan en Dalvik, una máquina virtual especializada (VM) diseñada específicamente para Android. A diferencia de las máquinas virtuales Java, que son máquinas apiladas, la máquina virtual Dalvik es una arquitectura basada en registros.
Dalvik tiene algunas características específicas que lo diferencian de otras máquinas virtuales estándar
La VM fue diseñada para usar menos espacio.
El grupo constante se ha modificado para usar solo índices de 32 bits para simplificar el intérprete.
El código de bytes estándar de Java ejecuta instrucciones de pila de 8 bits. Las variables locales deben copiarse ao desde la pila de operandos mediante instrucciones separadas. En cambio, Dalvik usa su propio conjunto de instrucciones de 16 bits que funciona directamente en variables locales. La variable local es comúnmente elegida por un campo de ‘registro virtual’ de 4 bits.
Debido a que el bytecode cargado por la máquina virtual Dalvik no es Java bytecode, y de la forma específica en que Dalvik carga las clases, no es posible cargar paquetes de bibliotecas como archivos jar, e incluso se debe usar una lógica específica para cargar bibliotecas de Android (específicamente el contenido del archivo dex subyacente debe copiarse en el área de almacenamiento interno privado de la aplicación, antes de poder cargarse).
- ¿Cuál es el futuro y el alcance del desarrollo de Android en India?
- ¿Cuáles son algunas características generales (en cuanto al conocimiento) para un desarrollador senior de Android?
- ¿Qué debe saber todo programador (en general) sobre el desarrollo de Android?
- ¿Cuál sería un marco de back-end óptimo para una aplicación de Android con funcionalidad de chat en tiempo real?
- ¿Por qué los desarrolladores de Android actúan como si el error saliera de la nada?