Android 4.4 到 Android 5.0有一个很大的变化,就是从Dalvik 到 ART,以下是根据我的理解做的总结。
有不对的地方,欢迎指正。
虚拟机 | Dalvik Dalvik VM =Virtual Machine | ART = Android Runtime |
运行机制 | JIT(Just-in-time)的解释器动态的进行编译并执行,即每次运行都要进行编译,字节码都需要通过即时编译器转换为机器码,这一过程拖慢了运行效率。 | 应用在第一次安装的时候,字节码就会预先编译成机器码,使其成为本地应用。这个过程叫做预编译(AOT, Ahead-Of-Time)。这样,应用的启动(首次)和执行都会变得更加快速。 |
Android 4.4 KitKat | 默认,为主 | 引入,并存,为辅 |
Android 5.0 Lollipop | 为辅 | 并存,为主 |
缺点 | 耗电快 内存大 用久了卡顿 | 1. 机器码占用的存储空间更大。 字节码变为机器码之后,可能会增加 10%-20%,不过在应用包中,可执行的代码常常只是一部分。ART模式安装应用所占的ROM空间比Dalvik模式多了接近一倍。 比如最新的 Google+ APK 是 28.3 MB,但是代码只有 6.9 MB。 2. 应用的安装时间会变长。 3. 兼容性差,闪退的问题。 |
优点 |
| 1. 运行高效:根据一些基准测试,新的运行环境能够使大多数应用的执行时间减半。 CPU 消耗大、运行时间长的应用能够更加快速地完成,而一般的应用也能更加流畅,比如动画效果更顺畅,触控反馈更加即时。在多核处理器的设备上,多数情况下只需激活少量的核心,或者能够更好的利用 ARM 的 big. LITTLE 架构。 2. 占用内存小: 3. 省电:提升电池的续航能力 4. 流畅:提升系统的性能
|