Por conta da necessidade de dar suporte a uma diversidade de hardwares, o Google projetou o Android baseado na utilização de uma máquina virtual para executar os aplicativos de usuário, dispositivo este que foi denominado Dalvik.
|
Na prática, qualquer aplicativo executado no Android é interpretado pela Máquina virtual Dalvik, o que permite, ao menos em tese, a execução do código independentemente do dispositivo de hardware. |
|
O lado negativo desta abordagem fica por conta da perda de performance na execução das aplicações, já que a necessidade de realizar uma etapa adicional no processamento ocasiona um maior consumo de recursos do sistema. |
A figura abaixo demonstra o esquema de funcionamento do modelo proposto e apresenta o overhead causado pela necessidade de converter os aplicativos para a máquina virtual Dalvik antes de realizar a sua execução.
|
A obrigatoriedade de se realizar uma conversão extra do código dos aplicativos resolveu a questão da compatibilidade, mas por outro lado, apresentou-se como um grande problema, sobretudo quando da execução de aplicativos mais pesados, já que o consumo exagerado de recursos causado pelo procedimento chegava a causar diversos travamentos no Sistema Operacional, o que fez com que o Google começasse a pensar em uma alternativa para substituição do modelo. |