Android Runtime Android Runtime缩写为ART是一种在Android操作系统上的运行环境由Google公司研发并在年作为Android 系统中的一项测试功能正式对外发布在Android 及后续Android版本中作为正式的运行时库取代了以往的Dalvik虚拟机ART能够把应用程序的字节码转换为机器码是Android所使用的一种新的虚拟机它与Dalvik的主要不同在于Dalvik采用的是JIT技术而ART采用Aheadoftime英语Aheadoftime compilationAOT技术ART同時也改善了性能垃圾回收Garbage Collection应用程序出错以及性能分析 JIT最早在Android 系统中引进到Dalvik虚拟机中在应用程序启动时JIT通过进行连续的性能分析来优化程序代码的执行在程序运行的过程中Dalvik虚拟机在不断的进行将字节码编译成机器码的工作与Dalvik虚拟机不同的是ART引入了AOT这种预编译技术在应用程序安装的过程中ART就已经将所有的字节码重新编译成了机器码应用程序运行过程中无需进行实时的编译工作只需要进行直接调用因此ART极大的提高了应用程序的运行效率同时也减少了手机的电量消耗提高了移动设备的续航能力在垃圾回收等机制上也有了较大的提升为了保证向下兼容ART使用了相同的Dalvik字节码文件dex即在应用程序目录下保留了dex文件供旧程序调用然而odex文件则替换成了可执行与可链接格式ELF可执行文件一旦一个程序被ART的dexoat命令编译那么这个程序将会只通过ELF可执行文件来运行因此相对于Dalvik虚拟机模式ART模式下Android应用程序的安装需要消耗更多的时间同时也会占用更大的内部储存空间用于储存编译后的代码但节省了很多Dalvik虚拟机用于实时编译的时间 Google公司在Android 中带来的ART模式仅仅是ART的一个预览版系统默认仍然使用的是Dalvik虚拟机上面提供的预览版ART相对于Android 以后的ART运行时库有较大的不同尤其体现在兼容性上