Every Android application runs on it's own process given by the OS, and own its own instance of the dalvik virtual machine. Dalvik Virtual Machine has been written so that a device can run multiple VMs efficiently. The Dalvik Virtual MAchine is executing files in the .dex (Dalvik Executable) format which was optimised for minimal cpu-and-memory usage.