Android 操作系统包含一个核心库,提供了大多数 Java 编程语言核心库的功能。每个 Android 应用都在自己的进程中运行,并拥有一个独立的 Dalvik 虚拟机实例。Dalvik 让设备能够高效地同时运行多个虚拟系统。

Dalvik 虚拟机执行 Dalvik 可执行文件(.dex),这是一种针对低内存使用进行优化的格式。此外,该虚拟机是基于寄存器的,所有类都先由 Java 编译器编译,然后通过 SDK 中的 'dx' 工具转换为 .dex 格式,最后再由虚拟机执行。

Dalvik 虚拟机依赖于 Linux 内核的某些功能,例如线程机制和底层内存管理机制。