Android Runtime
外观


JIT最早在系统中引进到Dalvik虚拟机中,在应用程序启动时,JIT通过进行连续的来优化程序代码的执行,在程序运行的过程中,Dalvik虚拟机在不断的进行将字节码编译成机器码的工作。与Dalvik虚拟机不同的是,ART引入了AOT这种预编译技术,在应用程序安装的过程中,ART就已经将所有的字节码重新编译成了机器码。应用程序运行过程中无需进行实时的编译工作,只需要进行直接调用。因此,ART极大的提高了应用程序的运行效率,同时也减少了手机的电量消耗,提高了移动设备的续航能力,在垃圾回收等机制上也有了较大的提升。为了保证,ART使用了相同的Dalvik字节码文件(dex),即在应用程序目录下保留了dex文件供旧程序调用,然而.odex文件则替换成了(ELF)可执行文件。一旦一个程序被ART的dex2oat命令,那么这个程序将会只通过ELF来运行。因此,相对于Dalvik虚拟机模式,ART模式下Android应用程序的安装需要消耗更多的时间,同时也会占用更大的内部储存空间,用于储存编译后的代码,但节省了很多Dalvik虚拟机用于实时编译的时间。
在Android 4.4中带来的ART模式仅仅是ART的一个预览版,系统默认仍然使用的是Dalvik虚拟机,4.4上面提供的预览版ART相对于Android 5.0以后的ART运行时库有较大的不同,尤其体现在兼容性上。
扩展阅读
- Android历史版本-对Android所有历史版本的介绍,包括Android版本所对应的API版本
- 虚拟机-一种特殊的计算机软件,通过它可以模拟出一个独立的环境供程序执行
外部链接

维基共享资源上的相关多媒体资源:Android Runtime