Dalvik基于寄存器,JVM基于栈,故Dalvik编译更快,分发指令和内存读写更快,但硬件兼容性更差。
Dalvik允许在有限的内存中运行多个虚拟机实例,每个Dalvik作为一个独立的Linux进程,虚拟接更多依赖操作系统的线程调度和管理机制,独立的进程防止虚拟机崩溃时是所有的程序都关闭。
Dalvik运行文件dex,由class链接而来,多个class文件整合到一个文件中,单个类的常量池整合成一个。
ART androidruntime:启用ART模式后,系统在安装应用的时候会进行一次预编译,在安装应用程序时会先将代码转换为机器语言存储在本地,这样在运行程序时就不会每次都进行一次编译了,执行效率也大大提升。