Dalvik与JVM之间的主要区别
- JVM是基于栈的,Dalvik是基于寄存器的,因此Dalvik速度会更快一点
- Dalvik中的线程对应到Linux中的线程,所已这里线程的调度依赖的是Linux系统,而非Dalvik虚拟机管理
- Dalvik将javac编译生成的.class文件进一步压缩处理转换成了dex文件,一方面减小了文件大小,另外一方面也加快了类等信息的查找效率
ART与Dalvik的主要区别
ART执行的是机器码(在app安装的时候dex被转换成了机器码),而Dalvik是将字节码进行解释执行,所已ART效率会更高一点,可是ART模式下的app,安装后的文件大小更大,所已能够认为是空间换时间java