Dalvik VM (Máquina Virtual) é a versão do Google de uma Java VM (na qual os aplicativos são executados). As VMs mantêm os aplicativos isolados e independentes do hardware e de outros aplicativos reais. Mas, para que isso funcione, a Dalvik precisa converter o chamado bytecode (projetado para máquina virtual) em código de máquina nativo. Para minimizar a penalidade de desempenho introduzida pelo conversor de código de bytecode para código nativo, é executado um processo chamado compilação Just-In-Time (JIT), que converte código de bytes quente, ou seja, frequentemente usado, em código nativo. 1
O ART (Android Runtime) é um substituto para o Dalvik que usa a compilação Antecipada (AOT), o que significa que seus aplicativos são compilados para um estado pronto para execução antes mesmo de serem iniciados. Isso geralmente é feito, no momento da instalação do aplicativo, tornando o processo de inicialização e uso muito mais rápido e suave. E como isso significa que a compilação é feita apenas uma vez, também é possível ter uma vida útil da bateria melhor.
Se o ART for melhor na perspectiva de desempenho e duração da bateria, devo começar a usá-lo?
Não. Se você fizer isso, poderá interromper aplicativos de terceiros. O Google enviou essa visualização da ART com o Android 4.4 para que os desenvolvedores testem seus aplicativos.
Nota lateral: a abordagem do Google com o ART é vencer o iOS (os aplicativos para iOS são nativos, com desempenho melhor mesmo nas especificações de hardware de última geração), mas não sei para onde ele está indo ... Outra fragmentação? Veja que os OEMs são livres para criar dispositivos usando um ou ambos . Embora a versão final não deva afetar a maioria dos aplicativos, ela não é 100% multiplataforma.
1 Observe que o JIT foi adicionado ao Dalvik no Android 2.2