Android 虚拟机

首先我们要说的是Android虚拟机主要有两种:Dalvik 与ART虚拟机
首先我们先讲一下Dalvik 虚拟机:
Dalvik 虚拟机是Android4.4之前所采用的虚拟机当时出现可是风靡一时,它对内存的高效使用,和在低速CPU上表现出的高性能,令整个IT界为之惊叹。它可以简单的完成进程隔离和线程管理。每一个Android应用在底层都会对应一个独立的Dalvik虚拟机实例,其代码在虚拟机的解释下得以执行。也可以说一个应用一个进程。

Android的系统架构和其操作系统一样,采用了分层的架构。
从架构图看,android分为四个层,从上层到低层分别是应用程序层、应用程序框架层、Android运行时和库、linux内核:


架构图.jpg

Dalvik虚拟机的主要特征

Dalvik虚拟机非常适合在移动终端上使用,相对于在桌面系统和服务器系统运行的虚拟机而言,它不需要很快的CPU速度和大量的内存空间。根据Google的测算,64M的RAM已经能够令系统正常运转了。其中24M被用于底层系统的初始化和启动,另外20M被用于高层启动高层服务。当然,随着系统服务的增多和应用功能的扩展,其所消耗的内存也势必越来越大。
Dalvik 基于寄存器,而JVM 基于栈。性能有很大的提升。基于寄存器的虚拟机对于更大的程序来说,在它们编译的时候,花费的时间更短。
现在我们再说说ART虚拟机:
ART虚拟机执行的是本地机器码。也就是说,应用程序仍然是一个包含dex字节码的apk文件。所以在安装应用的时候,dex中的字节码将被编译成本地机器码,之后每次打开应用,执行的都是本地机器码。移除了运行时的解释执行,效率更高,启动更快。(安卓在4.4中发布了ART运行时)’

ART优点:

①系统性能显著提升
②应用启动更快、运行更快、体验更流畅、触感反馈更及时
③续航能力提升
④支持更低的硬件

ART缺点

①更大的存储空间占用,可能增加10%-20%
②更长的应用安装时间

总的来说ART就是“空间换时间

你可能感兴趣的:(Android 虚拟机)