quarta-feira, 22 de janeiro de 2014

Tecnologia ART: o que realmente é e qual a vantagem sobre o Dalvik?


Olá, tudo bem?

Encontrei esse artigo no AndroidPit e resolvi compartilhar com vocês. É muito interessante e é bastante recomendado para quem já está com o Android KitKat no seu gadget.


Junto com o Android 4.4 KitKat, lançado no final do ano passado, a Google resolveu embarcar a nova versão da máquina virtual do seu sistema operacional móvel, o ART (Android Runtime), que promete tornar a execução de apps muito mais eficiente. Com o intuito de testar a nova tecnologia com o grande público e otimizá-lo até seu lançamento oficial, a Google disponibilizou aos donos de dispositivos Nexus com Kitkat 4.4 a possibilidade de experimentar o que pode ser uma das maiores mudanças no Android desde a sua criação. Mas afinal, o que é esse tal de ART e quaismelhorias ele traz?
tecnologia art dalvik
ART e Dalvik! / © AndroidPIT
Para entendermos os benefícios do novo runtime ART, temos que recorrer a detalhes técnicos dos dois sistemas. Os aplicativos executados hoje no Android utilizam uma máquina virtual (MV) chamada Dalvik, criada por Dan Borstein desde a primeira versão do sistema. Basicamente, os programas são escritos em Java e então convertidos em código de máquina chamado bytecode - uma etapa intermediária entre o código-fonte e o código legível pelo hardware. Nesse estágio, o código não está associado a nenhum código de máquina específico e pode ser convertida para rodar em várias arquiteturas distintas (portabilidade). Finalmente, a MV Dalvik traduz o bytecodeem um código legível pela máquina em questão, código que é de fato executado pelo processador principal. Essa tradução (compilação) ocorre durante a execução do aplicativo, que dá o nome à técnica utilizada para tal: JIT (Just In Time).
ART, por sua vez, foi concebido para usar uma técnica de compilação chamada AOT (Ahead Of Time). Sua principal diferença em relação ao Dalvik é que ela ocorre antes da execução do aplicativo - e não durante, como o JIT - o que elimina esta etapa durante o tempo de execução. Com isso, espera-se um aumento de velocidade de execução de até 2 vezes em relação ao Dalvik, reduzindo-se a percepção de lag
A título de ilustração, segue um gráfico de benchmark de um simples algoritmo de ordenação de valores (quicksort) executado em um aparelho Android sob ART (vermelho), Dalvik (azul) e Java Native Interface (laranja), técnica que permite que um programa Java acesse aplicações e bibliotecas escritas em linguagem de menor nível, como C/C++/Assembly.
art vs dalvik
O tempo de execução pode ser reduzido em até 2 vezes com o ART / © XDA

Pontos fracos

O ART, no entanto, não é um mar de rosas. A instalação dos aplicativos será perceptivelmente mais demorada para aplicativos complexos e eles utilizarão mais espaço na memória do aparelho. Apesar disso, as melhorias prometidas superam esses pontos, que também devem ser minimizados nas próximas versões do Android.
Um usuário fez um vídeo que mostra dois aparelhos Nexus 7 rodando cada um com uma das versões de runtime. Ele executa o aplicativo Photoshop e compara o desempenho dos dois sistemas:


O ART não tem data para substituir o Dalvik por enquanto. Alguns especulam que será no ainda misterioso Android 5.0 Key Lime Pie. Outros acreditam que ele deve levar mais algum tempo para amadurecer. Por enquanto, para aqueles que desejam experimentar o novo recurso, custa lembrar que diversos aplicativos ainda não são compatíveis com ele e podem dar force close. Alguns exemplos são: WhatsApp, Pandora, Titanium Backup e Ingress.
E você, o que acha ou está achando do novo runtime do Android ? Acha ele promissor ? Deixe seu comentário abaixo !

0 comentários:

Postar um comentário

Dúvidas? Sugestões? Problemas? Fique a vontade para deixar seu comentário, e assim ajude o blog a crescer!