Logo pt.androidermagazine.com
Logo pt.androidermagazine.com

Android a a z: o que é dalvik

Anonim

O que é Dalvik? Ouvimos essa palavra ser divulgada na Internet ao falar sobre o Android e seu funcionamento interno. Embora não haja uma explicação fácil que possamos fornecer em apenas alguns parágrafos, podemos cobrir o básico e direcioná-lo na direção certa, se você precisar alimentar seu lado nerd. Em seus termos mais simples, o Dalvik é uma máquina virtual que executa aplicativos e códigos escritos em Java. Um compilador Java padrão transforma o código-fonte (escrito como arquivos de texto) em Bytecode e, em seguida, compilado em um arquivo.dex que a Dalvik VM pode ler e usar. Em essência, os arquivos de classe são convertidos em arquivos.dex (como um arquivo jar, se alguém estivesse usando a Java VM padrão) e, em seguida, lidos e executados pela Dalvik Virtual Machine. Os dados duplicados usados ​​nos arquivos de classe são incluídos apenas uma vez na saída.dex, que economiza espaço e usa menos sobrecarga. Os arquivos executáveis ​​podem ser modificados novamente quando você instala um aplicativo para tornar as coisas ainda mais otimizadas para dispositivos móveis. Coisas como troca de ordem de bytes e vinculação de estrutura de dados e bibliotecas de funções em linha tornam os arquivos menores e funcionam melhor em nossos dispositivos. A VM Dalvik foi escrita desde o início, com o Android em mente.

Confuso ainda? Não se sinta mal, a conversa de programação nerd geralmente tem esse efeito. Pense dessa maneira - quando você cria um aplicativo Java para o seu computador, uma Java Virtual Machine executa a saída compilada do código-fonte. É por isso que o Java é executado em praticamente qualquer sistema operacional. O Dalvik é uma versão otimizada para dispositivos móveis de uma Java Virtual Machine, construída com o código do projeto Apache Harmony, de código aberto e executado melhor do que uma Java VM padrão faria em nosso hardware limitado, projetado para que você possa executar mais de um instância da VM de cada vez - ou seja, multitarefa. Como o Dalvik é de código aberto, também foi portado para outros sistemas operacionais, como o do BlackBerry PlayBook. É muito complicado, muito legal e a Oracle (a empresa que comprou o Java da Sun) o odeia.

O Android usa o Dalvik porque, embora a licença para a Java Virtual Machine padrão seja GPL2 (livre e de código aberto), quando colocada em um dispositivo móvel e usando o Java Micro Edition, não é. A grande disputa entre Google e Oracle se baseia em Dalvik. O Google alega que foi gravado em um ambiente de "sala limpa" sem usar nenhum código da Oracle, e a Oracle discorda. Afirmamos não ter ideia, estamos contentes que funcione tão bem quanto funciona.