Tecnologia ART: o que realmente é e quais as suas vantagens? [Atualizado]
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 lançamento oficial do Android L se aproximando, já foi anunciado que o ART sairá da sua fase de testes e substituirá efetivamente a máquina virtual Dalvik. Neste artigo, explico com detalhes o que é o ART, como ele irá funcionar e também as suas vantagens e eventuais desvantagens.
O que é ART ou Android Runtime?
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 convertido para rodar em várias arquiteturas distintas (portabilidade). Finalmente, a MV Dalvik traduz o bytecode em 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).
O 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 atraso.
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.
Vantagens e desvantagens do ART (Android Runtime)
Os apps ficarão mais rápidos, mas também ocuparão mais memória
Essa é uma consequência da própria natureza da próxima máquina virtual do Android: se um aplicativo é mantido pronto para rodar, claro que ele ocupará mais espaço. Como o código do app é compilado quando você o instala, e depois é mantido na memória em vez de compilar sempre que abri-lo, isso significa que ele ocupará um espaço extra permanente. Isso pode causar problemas para os dispositivos com pouca memória, e a velocidade maior vem sempre com um preço. Ainda é cedo, contudo, para saber as consequências concretas desse fato para dispositivos de entrada, como os da série Android One ou o Moto E.
O ART irá economiza a bateria
Outra consequência óbvia da maneira como o ART funciona: se todos os aplicativos em seu celular forem pré-compilados, o processador terá de trabalhar menos a cada vez que você abri-los, o que leva a um menor consumo de bateria. A desvantagem é que, sempre que iniciar o seu dispositivo pela primeira vez, levará um tempo bem maior, especialmente se ele tiver muito bloatware. O mesmo vale para quando você abrir pela primeira vez um novo app. Depois disso, contudo, tudo será mais rápido.
O ART é mais rápido do que você pensa
A versão atual do ART rodando no Android L é obviamente uma opção para desenvolvedores. Quando o Google anunciou a mudança definitiva para o ART na Google I/O, foi afirmado que a nova máquina virtual será duas vezes mais rápida do que o Dalvik, mostrando um teste de benchmark como prova:
Mas o que você talvez não saiba é que o Google também disse que outros testes mostraram que o ART pode ser três vezes mais rápido do que o Dalvik. Ainda não sabemos quão rápida será a versão final da máquina, mas a estratégia do Google de anunciar uma velocidade e depois surpreender a todos com um ART ainda mais rápido parece plausível.
Você já vem usando o ART no KitKat? Quais são as suas impressões?
Fonte: Android.com, AndroidNext, XDA Developers
Tenho um Moto g ( 1° geração) 8GB de memória. Pelo menos 2semanas atrás quis ver como rodaria o Art do meu celular já que achava q já tinha o maior conhecimento sobre o Dalvik. Notei que a bateria deu uma recaída com relação a tempo de uso, antes eu tinha umas 3 páginas de apps e todos rodavam bem com o Dalvik, quando mudei para o Art, metade fui obrigada a desinstalar, e agora tenho 1 página e meia bem sofrida, para instalar um, tenho que desinstalar outro. Vejo melhoras na rapidez do desenvolvimento de alguns programas mas consumiu minha tampouca memória de 5GB para o usuário. Ass.: T.W
Eu acho engraçado os fabricantes e desenvolvedores de aplicativos, cade vez que lança modelos novos de aparelhos a memoria interna vem maior, porem vem com mais espaço utilizado. E os aplicativos cada vez mais vem maiores, a nao ser jogos pago, que aí nem sai tanta atualizacao, ja os free to play sempre atualiza e cresce o espaço utilizado. App como whatsapp antes nao passava de 80mb , agora no meu aqui ja ocupa 130mb, nem falo do facebook que muita gente utiliza.
é so você apagar as mensagens e midias, o tamanho do whatss ou facebook sempre é o mesmo, o que aumenta a memoria utilizada são os dados que o usuario baixa, tente limpar os dados dos seus app e você verá a diferença
Então, qual a tecnologia que a Apple usa? Já que os apps deles ocupam bem menos espaço a instalação é rápida e a execução também... Qual seria?
maquina virtual nativa, coisa que no android é dificil fazer pelo fato que varias gadgets usam diferentes hardwares e tamanhos de tela
Legal
Creio que a resposta para que o ART melhore a fluidez, poupança de bateria e RAM seja bem óbvia... Hard Reset no bicho e antes de qualquer atualização ou instalação, fazer a alteração de Dalvik para ART, pois assim os apps já serão instalados com a nova instrucao!
eu troquei nas opções do desenvolvedor para art meu note 4 ficou virado num caralho tudo bugado e lento pra kcete
Ae pessoal...
alguém pode me tirar de um desespero aqui?
então, tive a curiosidade de conhecer como funcionaria me g3 com essa tecnologia ART, mas estou tendo um problema na otimização, o aparelho não finaliza a operação, e quando o reinicio ele volta do ponto onde parou...
por favor me salvem...
Alguem pode me falar como faço isso no Xperia Z1 ??
Boa tarde
Passei para ART. já faz algum tempo. Estou bastante satisfeito
Não perdi nada e os benefícios são ótimos.
Boa tarde.
Já estou usando o ART, a muito tempo e realmente ficou mais rápido. Quando passei de DALVIK para ART, não perdi nada. Fiz na raça r na coragem e deu tudo certo. MOTO X.
Afinal... Aumenta o consumo de bateria ou não no Nexus 5?
Flávio meu também ficou mais lento no ART, consumindo muita RAM quanta a bateria uma pequena melhora!!!! Voltei pro dalvik o aparelho parece outro! Na minha opinião usar o dalvik no moto g 2 o sistema fica mais fluido!!!!
No meu Moto G 2014 o ART aumenta relativamente a execução dos apps mas deixa eles muito lentos e deixa o telefone bem lento também não sei porque isso mas cheguei ate a reiniciar ele algumas vezes mas não adiantou, alguem sabe o porque ou se eh normal mesmo por estar na fase de desenvolvimento ?
Moto E a mesma coisa... testei aqui o ART esquece... fica MUITO lento
Se der problema eu posso voltar pro dalvik que para? gente pelo amor, agora já iniciei socorroooooo
Pode voltar sim. Só ir no mesmo lugar e selecionar o Dalvik. Eu fiz isso. ;)
No meu Moto G mudei pro ART e a memória usada aumentou de 3.2 GB pra 3.7 GB e os ganhos me pareceram poucos pra compensar tamanho gasto de memória, mas como ainda está com apenas 12 horas pode ser que as compensações se tornem visíveis.
Bom logo apos ler este post achei interessante tenho um moto x com android 4.4.4 e fiz o teste aparentemente nao vi nenhuma diferença ''gritante'' os apps ficaram um pouco mais rapido so um pouco porem os apps facebook Skype e youtube ainda continuam com leg para abrir nao sei porque se alguem solber resolver me ajudaria muito, nao alterou em ''nada'' mudar de dalvik para o ART e sobre a bateria a duração ja é boa pelo menos no meu moto x por isso voltei pro Dalvik e como fui na fominhagem não reparei a respeito de quanto de espaço este processo altera mas deve ser igual o que os outros camaradas falaram ai, agora vamos ver quando sair este Android L (não vejo a hora de sair :D) se o ART ja vai estar com todas estas qualidades com resultados bastante consideraveis INDEPENDENTE do modelo do aparelho que esteja com android!