Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


¿Cómo diferencia exactamente JVM de Dalvik y / o ART?

En primer lugar, creo que puedo haber titulado esta pregunta mal, pero no pude pensar en las palabras correctas, así que por favor, siéntase libre de sugerir una edición y lo haré, para que la pregunta sea más educativa y relevante para los demás.

Sé que javax.Swing simplemente no se puede utilizar para un proyecto de Android, y he aceptado esto y aprendido Android basado en XML diseño de interfaz de usuario, pero sólo por curiosidad, quiero saber exactamente por qué .

Me doy cuenta de que las dimensiones de la pantalla de un teléfono podría ser algo que Swing no manejaría bien, pero lo que es impedir que un desarrollador simplemente importe el paquete javax.Swing (además de Android Studio simplemente no lo deja pasar en primer lugar), sin embargo Deformado y horrible Swing ventanas podría estar en una pantalla de dispositivo Android? También me doy cuenta de que AWT y SWT también tendría que ser importado, pero la misma pregunta se aplica a estos paquetes también.

Creo que mi falta de comprensión de esto podría realmente raíz de una falta de comprensión de cómo la máquina virtual de Java y el equivalente de Android (Dalvik todavía se utiliza, o han cambiado de pavo frío a ART?).

Como siempre, cualquier información o lectura sobre el tema que puede proporcionar es muy apreciada. Realmente quiero aprender más acerca de los fundamentos de cómo funcionan la JVM, Dalvik y ART.

2 Solutions collect form web for “¿Cómo diferencia exactamente JVM de Dalvik y / o ART?”

Hay al menos tres diferencias fundamentales:

  • Las API difieren; Por ejemplo, incluso las versiones más recientes del SDK de Android no tienen JSR 203;
  • Los formatos binarios difieren; Dalvik / ART no genera bytecode JVM;
  • El nivel de idioma difiere; Es en parte una consecuencia del punto anterior, ya que para soportar un nivel de lenguaje dado, Dalvik / ART tiene que reimplementar toda la producción de parsing / bytecode para ajustarse a su propia VM.

Este último punto significa que como resultado, todavía no hay soporte principal en Android de try-with-recursos que apareció en Java hace 5 años ; Varios esfuerzos han visto el día para apoyar este "más" de Java 8 con el tiempo, pero ninguno de ellos es realmente Java "en el núcleo"; Entienden, no utilizan la JVM, no utilizan el compilador de Java.

Las noticias recientes dicen que esto está destinado a cambiar en "Android N" (que en realidad usará OpenJDK). Que es una buena noticia. Además, en cuanto al punto 1, puede recordar que infame Oracle vs Google caso en lo que respecta a APIs ser protegidos por derechos de autor … Esto todavía no está completamente resuelto.

Este artículo puede ser útil para usted http://www.techentice.com/dalvik-vs-art-android-drop-dalvik-efficient-art/ aunque, es algo anticuado, YA. Sin embargo, sí explica las diferencias entre JVM y DALVIK y ART.

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.