对于Dalvik虚拟机管理说明 |
本文标签:Dalvik虚拟机 Dalvik虚拟机还是比较常用的,于是我研究了一下Dalvik虚拟机,在这里拿出来和大家分享一下,希望对大家有用,经过长时间学习Dalvik虚拟机,于是和大家分享一下,看完本文你肯定有不少收获,希望本文能教会你更多东西 。 很多实现代码都是来自Apache Harmony项目,主要目的是保证虚拟机的类库能够和Java SE的类库最大可能的兼容,从而降低应用开发者从Java SE阵营转移到Android开发阵营的难度,增加其可用性 。 Dalvik虚拟机主要是完成对象生命周期的管理,堆栈的管理,线程管理,安全和异常的管理,以及垃圾回收等等重要功能 。 Dalvik虚拟机的主要特征Dalvik 虚拟机非常适合在移动终端上使用,相对于在桌面系统和服务器系统运行的虚拟机而言,它不需要很快的CPU速度和大量的内存空间 。 根据Google的测算,64M的RAM已经能够令系统正常运转了 。其中24M被用于底层系统的初始化和启动,另外20M被用于高层启动高层服务 。当然,随着系统服务的增多和应用功能的扩展,其所消耗的内存也势必越来越大 。 归纳起来,Dalvik虚拟机有如下几个主要特征: Java虚拟机运行的是Java字节码,而Dalvik虚拟机运行的则是其专有的文件格式DEX(Dalvik Executable) 。 Android应用虽然也是使用Java语言进行编程,但是在编译成CLASS文件后,还会通过一个工具(dx)将应用所有的CLASS文件转换成一个DEX文件,而后Dalvik虚拟机会从其中读取指令和数据,Dalvik和Android系统Android作为新一代的基于Linux的开源手机操作系统,其系统架构由下而上可以分为以下几部分: Linux内核 本地库 Android运行库 应用框架应用 。 基于寄存器 相对于基于堆栈的虚拟机实现,基于寄存器的虚拟机实现虽然在硬件通用性上要差一些,但是它在代码的执行效率上却更胜一筹 。一般来讲,虚拟机中指令的解释执行时间主要花在以下三个方面: |