Com o Nexus 5 (Android 4.4 KitKat), o Google enviou dois tempos de execução para executar aplicativos.
Quais são as diferenças entre Dalvik e ART para usuários finais? Como os usuários finais podem ser afetados por isso? Existe algum motivo específico para eu escolher o novo tempo de execução do ART?
dalvik
4.4-kitkat
art
Android Quesito
fonte
fonte
Respostas:
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.
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
fonte