Dalvik

De androidPT Wiki
Ir para: navegação, pesquisa

Dalvik é a máquina virtual de Java que corre sobre o Kernel de GNU/Linux nos dispositivos com o sistema operativo Android. O nome Dalvik provém do seu criador original, Dan Bornstein, que o nomeou de acordo com uma vila da Islândia de nome Dalvík.

Dalvik Vs Outras VMs

O Dalvik, contrariamente à generalidade das máquinas virtuais de Java, usa uma implementação arquitetural orientada aos Registos, ao invés de orientada à Stack, o que por consequência resulta em menos instruções de código Java Bytecode para produzir o mesmo resultado. Estas, e muitas outras características fazem com que o Dalvik seja particularmente otimizado para dispositivos móveis, mantendo na mesma disponível aos programadores um grande leque da linguagem Java, que entra em contraste com implementações menos completas de Java, tal como o J2ME[1].

Maneira sucinta de operação

Ao ligar o terminal, o DalvikVM analisa todas as aplicações (ficheiros .apk) e frameworks e constrói uma árvore de dependências que é utilizada para otimizar o bytecode para cada aplicação que guarda na cache Dalvik. A partir daí as aplicações são executadas com este bytecode otimizado. É por isso que após instalar uma ROM nova, o terminal pode demorar bastante tempo a iniciar pela primeira vez. Sempre que uma aplicação ou framework muda, o bytecode é re-otimizado e guardado na cache Dalvik.