A implementação diferenciada da arquitetura de componentes de um aplicativo Android é, em parte, resultado da forma como ele implementa um ambiente de multiprocessamento em Java por meio da VM (Virtual Machine).
Para tornar esse ambiente adequado a aplicativos múltiplos e fornecedores distintos, apresentando um requisito mínimo de confiança para cada fornecedor, o Android, até a versão 4.4 cujo apelido é Kitkat, utilizava-se da VM denominada de Dalvik.
A partir da versão 5.5 cujo apelido é Lollipop, a plataforma Android passou a utilizar uma nova VM denominada de ART (Android Runtime). Apesar de diferentes, as duas máquinas virtuais cumprem-se ao mesmo propósito: criar um ambiente de execução independente de plataforma para os aplicativos Java. Contudo, as diferenças entre ambas serão mostradas logo adiante.