BT

Experimente a nova interface visual do InfoQ! Veja o novo design do InfoQ 3.0 e nos diga o que você achou.

Android N combina AOT, interpretação e JIT

| por Abel Avram Seguir 12 Seguidores , traduzido por Diogo Carleto Seguir 46 Seguidores em 03 mai 2016. Tempo estimado de leitura: 2 minutos |

O Android N introduz uma runtime hibrida usando compilação + interpretação + JIT para obter a melhor combinação entre tempo de instalação, uso de memória, consumo de bateria e desempenho.

Uma das principais funcionalidades introduzidas como previsto no Android KitKat e como a solução padrão no Lollipop foi o ART, uma nova runtime no momento certo. O ART substituiu o Dalvik, mas o bytecode é compatível para continuar executando arquivos DEX. Uma das principais características do ART foi a compilação AOT de aplicações durante a instalação. O principal benefício foi otimizar o código nativo para ter o melhor desempenho e precisar de menos processamento para ser executado. O ponto negativo foi o tempo de instalação e espaço. Aplicações grandes precisam de alguns minutos para serem instaladas no Lollipop e Marshmallow.

O Android N Developer Preview inclui um runtime hibrido. Não haverá qualquer compilação durante a instalação, e os aplicativos podem ser iniciados de imediato com o bytecode sendo interpretado. Existe um novo interpretador mais rápido no ART que vem acompanhado por um novo JIT, mas a informação JIT não é persistida. Ao invés disso, o código é descrito durante a execução e os dados resultantes são salvos. Depois, quando o dispositivo está inativo e carregando, o ART realizará uma compilação baseada no perfil das partes mais utilizadas do código, deixando o resto intacto.

Dependendo do que o profile encontrar durante as subsequentes execuções, o processo de compilação pode ser aplicado várias vezes na mesma aplicação, para encontrar novos caminhos de código que se tornaram otimizados (quente) ou através da aplicação de novas otimizações para o código já compilado. Embora este procedimento ainda seja chamado de AOT por questões de simplicidade, pode-se ler isso como compilação All-Of-the-Time.

Os benefícios globais desta estratégia mista de AOT + Interpretação + JIT são:

  • O tempo de instalação mesmo para grandes aplicações é reduzido para segundos;
  • Atualizações de sistema são instaladas mais rapidamente pelo fato de não ser necessário uma etapa de otimização;
  • O uso da memória RAM da aplicação é menor, em alguns casos abaixo de 50%;
  • Desempenho aperfeiçoado;
  • Menor consumo de bateria.

Para encontrar mais detalhes sobre as otimizações aplicadas durante a compilação, recomendamos o podcast Episode 45: State of the ART, tendo como convidados Brian Carlstrom, líder da equipe do Android ART, e Anwar Ghuloum, diretor de engenharia da plataforma Android.

Avalie esse artigo

Relevância
Estilo/Redação

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

Dê sua opinião
BT