我的知道,Android程序是运行在Davlik虚拟机当中的,每一个App对应一个Davik虚拟机,并且,虚拟机也是从Zygote进程fock出来的。
咳咳,本片填的是针对移动端设计的Davik虚拟机特点。
主要区别与JVM虚拟机:Davik虚拟机基于寄存器,JVM虚拟机基于堆栈。
基于寄存器:占用内存多于JVM,但是步骤比JVM少,意味着占用CPU时间少,速度更快。
其他区别:dex,类似与jar,但是dex因为共享里面的一些变量,所里占用空间是比jar少得多的。
综上:Davik比JVM 快 省
像其他的比如内存管理啊(把Bitmap Memory计入到Java Object Heap中,以方便GC),GC机制啊(相比于旧版本,是和程序进程并发的,一次回收一部分,时间短),JIT的优化以及JNI JDWP等等...
具体看下老罗的文章:
http://blog.csdn.net/luoshengyang/article/details/8852432