前言,安卓可以运行多个app,对应运行了多个dalvik实例,每一个应用都有一个独立的linux进程,独立的进程可以防止虚拟机崩溃造成所有程序都关闭。就像一条电灯泡上的电灯都是并联关系的,一个灯泡坏了其他灯泡不受影响,一个程序崩溃了其他程序也不受影响。
Android 虚拟机
安卓的虚拟机是啥?
安卓虚拟就就是运行在linux系统上的一个程序,一个独立的linux进程,一个dalvik虚拟机。
Dalvik
dalvik是一个跑在android手机上的一个java虚拟机,他是将java字节码转化为android手机系统的机器语言,在内存足够大,可以跑多个dalvik实例,并且互不影响。每次运行程序都要将java字节码转化为android系统机器语言。占用rom空间比Art小。
Art
Art也是一个跑在android手机上的一个java版本,是dalvik2.0版本。他能够在第一次安装的时候把java字节码全部转化为android系统机器语言。以后每次打开应用都不用再次编译java字节码了,打开速度快,运行效率高,省电。占Rom体积大。
总结
- Art一次编译,终身受用,提高app加载速度,运行速度,省电;不过安装时间略长,占Rom体积略大
- Dalvik占用Rom体积小,安装略快,不过加载app时间长,运行慢,更加耗电。
网友评论