DVM dalvik virtual machine
基于寄存器的架构
寄存器的优点即存取速度快即执行速度快
允许有多个DVM存在 一个app对应一个dvm 应用程序间相互独立 相互通信通过高效的IPC机制
dvm执行的是dex字节码(包含可执行文件)
目的是将Android OS的本地资源和环境更高效统一的开发运行环境
JVM java virtual machine
基于栈的架构
方便移植 多终端支持
一个JVM中可以运行多个应用程序。
jvm执行的是java字节码
目的是构建跨OS平台,跨指令集的运行环境
在Android中,zygote是整个系统创建新进程的核心装置 采用预加载 首先判定
apk的需要以及依存树,以及OS和硬件环境的特点,在每次启动的时候进行预加载
这就意味着,你安装的应用越多,Zygote的加载越慢,相应的手机启动也就越慢。
dvm在运行时并不像jvm一样提供完整的运行环境 包括运行时各类资源的调度
它提供的只是一个用于共享的进程,所有程序的运行都是独立的,都是OS级别的的进程,直接受到OS层面的资源调度影响,这也就是为什么说,DVM就像是给每个应用程序在底层加了一个套子,而不是提供一个真正运行时的VM。
网友评论