2013/11/07

Android ART no 4.4 marca o início do fim do Dalvik


Qual é a coisa qual é ela que nunca é suficiente nos nossos smartphones? A resposta: a velocidade com que as apps são executadas! Bem podemos ter CPUs quad-core e octa-core, 2 e 3GB de RAM, mas continuamos a ter apps que demoram vários segundos a arrancar, e a arrastar-se vagarosamente em funcionamento. O Google tem uma arma secreta para acelerar as apps, e já nos permite experimentar o que está para vir, no novo Android 4.4 KitKat: o ART.



O Android é um sistema imensamente versátil, e em parte isso deve-se ao facto das suas apps serem baseadas em Java. Isso faz com que uma app para Android possa correr num número bastante diversificado de equipamentos, mas em contrapartida faz com que todos os executáveis estejam num formato intermédio que tem que ser interpretado a cada execução (lembrem-me para fazer um artigo a explicar as diferenças entre código interpretado, nativo, compilações e afins!)

Para isso existe um "programa runtime" que tem a seu cargo analisar as apps e transformá-las em código verdadeiramente executável no sistema em que está a correr (que poderá ser um chip ARM, ou um Intel, por exemplo). No Android esse runtime é o Dalvik - um compilador "JIT" (Just In Time).

Mas o Google quer levar as coisas mais além, e tem trabalhado num novo runtime a que chamou ART e que usa um conceito diferente. Em vez de ser um sistema que a cada execução vai interpretar a app e traduzi-la para uma linguagem executável, este ART é um compilador AOT (Ahead-of-time). Ou seja, o trabalho que o Dalvik faz repetidamente, o ART faz apenas uma única vez no momento da instalação da app. Isto tem o inconveniente de poder demorar um pouco mais durante o processo de instalação... mas tem a grande vantagem de ficamos com apps "nativas" prontas a executar sem qualquer passo adicional de interpretação.

Embora por agora este ART apenas esteja disponível de forma experimental - e podendo causar problemas - dá já para ver que há melhorias significativas no desempenho das apps, que podem passar a demorar metade do tempo em operação. Algo que terá também impacto significativo na autonomia, já que o sistema poderá passar mais tempo em "idle".

Esta chegada "disfarçada" do ART no Android 4.4 KitKat será sinal de que faltará pouco tempo para que venha a ser adoptado como runtime oficial do Android (talvez no 4.5 - ou no 5.0, se o Google quiser mesmo demarcar-se da era "Dalvik"). O que é certo é que o Android ficará mais rápido que nunca... e os utilizadores agradecerão!

10 comentários:

  1. No mês que eu compro WP, a Google faz essas melhorias todas?

    Thanks Obama! -_-

    ResponderEliminar
    Respostas
    1. O WP8 já faz isso, e melhor, no servidor da MS, o app ja vem compilado: http://blogs.msdn.com/b/msgulfcommunity/archive/2013/03/16/compile-in-the-cloud-with-wp8.aspx

      Eliminar
  2. Vou fazer isso já no meu nexus 5

    ResponderEliminar
  3. Apesar de todas estas novidades e novidades recentes, acho mesmo que vou mudar para o Windows Phone. :)

    ResponderEliminar
  4. O seus animais! O Windows Phone é mil vezes pior que o Android.
    http://www.explorando.com.br/review-negativo-windowsphone8

    ResponderEliminar
    Respostas
    1. Cara, parece que a M$ não gostou da publicação e mandou tirar da Net.

      Eliminar
  5. Fiz a mudança para o ART no meu nexus 4 rodando Android 4.4 e apenas dois após deram pau, um foi o whatsapp que para variar tinha que bugar e o outro foi o jogo Dark avenger. Em co tra partida o APP do facebook que e uma bosta azul, rodou lisinho...

    ResponderEliminar
    Respostas
    1. na 4.4.1 arrumaram isso, tu vai ter que deletar a pasta com.whatsapp da pasta /data/data ou resetar ele pra fabrica.
      o erro que dava é por um force signature check que tinha no art inicial. no aosp 4,4r2.1(que depois virou 4.4.1r1)foi tirado ele.

      Eliminar
    2. Também fiz a mudança para o ART, fiz agora a pouco, meu celular é Android 4.4.2, será que vou ter problemas como o amigo Thiago Cristiano?

      Eliminar
  6. Tipo muito mais rápido para minimizar apps sabe aquele pequeno lequinho quando clica no botao de multi tarefa ele sumiu

    ResponderEliminar