Glossário Android – O Que É Dalvik VM?

Esse é um termo comum, mas nem todos sabem o que ele realmente significa. Por isso queremos te ensinar um pouco o que é Dalvik e qual sua importância no Sistema Operacional Android, da Google Inc.

Dalvik é uma máquina virtual responsável pela execução de aplicativos desenvolvidos a partir da linguagem de programação Java, da Oracle. O Dalvik foi criado por Dan Bornstein que posteriormente se junto ao time da Google para trabalhar no projeto Android.

Não dá para explicar como o Dalvik funciona sem antes passar um pouco pelo Java e sua Máquina Virtual. Então vamos lá…

O compilador nativo do Java transforma códigos presentes em arquivos de texto em Bytecodes, na sequência reúne esses Bytecodes em um arquivo com extensão .dex, só assim a Dalvik VM ( Máquina Virtual ) pode entender o que deve executar. Em termos simples, os arquivos de classes (código-fonte) são compilados em um arquivo .dex e só assim podem ser interpretados pela Dalvik VM.

Informações duplicadas no código-fonte são agrupados na compilação do arquivo .dex, obtendo um arquivo mais compacto tanto no tamanho quanto em sua performance. Os arquivos executáveis ainda podem ser alterados quando você instala um aplicativo, otimizando ainda mais a execução no ambiente mobile. Gerenciamento de memória, estrutura de dados e bibliotecas de funções em linha tornam os arquivos menores para execução em nossos dispositivos.

Essas explicações provavelmente estão te deixando maluco, não é? Não se preocupe, pois esses termos tem mais importância para desenvolvedores do que usuários finais. Portanto se você é desenvolvedor, pense que… quando você cria um aplicativo Java em seu computador, a Máquina Virtual do Java executa tudo aquilo que foi “compilado” a partir o código-fonte. Este é geralmente o modo como o Java executa aplicativos nos populares sistemas operacionais e o Dalvik segue praticamente o mesmo roteiro no Android.

Abaixo temos a represenção da arquiterura Dalvik/Android e suas camadas:

Arquitetura - Android e Dalvik

Podemos afirmar que o Dalvik é uma versão mobile otimizada de uma Máquina Virtual Java, mas com origem nos códigos do projeto Apache Harmony, tem código-fonte aberto e sua performance é melhor que uma Java VM teria em dispositivos com hardware limitado, e por fim, o Dalvik foi concebido para que possa executar múltiplas instâncias da VM ao mesmo tempo ( entende-se aqui o recurso Multitasking ou Multi tarefa, em português).

Por ser um projeto de código aberto o Dalvik também foi utilizado em outros dispositivos/sistemas operacionais “não-Google”, como por exemplo o tablet PlayBook, da BlackBerry. Essa utilização do Dalvik nunca foi bem vista pela Oracle que se tornou “dona” do Java após a compra da Sun Microsystems. Essa popularidade do Dalvik/Android é tão grande que hoje temos outros dispositivos além dos smartphones e tablets, como por exemplo os Netbooks.

A Google faz uso do Dalvik no Android por um motivo bem simples: A licença da Máquina Virtual Java é gratuita e de código aberto, pois está sobre a licença GPL2, mas em nenhum momento o gigante das buscas utiliza o Java Micro Edition, pois aí teria que pagar “alguns trocados” à Oracle.

Essa é uma briga que dura anos, pois de um lado o Google diz que o Dalvik foi concebido em um ambiente “sem referências externas” e sem qualquer linha de código original da Oracle, enquanto essa refuta qualquer argumento do gênero.

Felizmente, a briga não terá mais capítulos, pois o Google já tem outra VM disponível para o Android a partir da versão 4.4 KitKat, estamos falando do ART, essa sim foi criada do zero e será cada vez mais comum utilizá-la no dia a dia. Confira um artigo sobre como habilitar o ART em seu dispositivo.

Se você quiser gastar um pouco do seu inglês e entender mais sobre a arquiterura do Android, confira a documentação oficial do Google sobre o Dalvik.

1 Estrela2 Estrelas3 Estrelas4 Estrelas5 Estrelas (Sem votos ainda)
Loading...Loading...

Faça um Comentário

O seu endereço de email não será publicado. Campos obrigatórios são marcados com *