Android中的Dalvik和ART有啥区别?
来源:互联网 发布:win7 vb 对象库未注册 编辑:程序博客网 时间:2024/05/16 23:01
什么是Dalvik?
Dalvik虚拟机是Google等厂商合作开发的Android移动设备平台的核心组成部分之一。
它可以支持已转换为.dex格式的; font-family: -apple-system,"sf="" ui="" sans="" micro="" font-size:="" background-color:="" />Dalvik 经过优化,允许在有限的内存中同时运行多个虚拟机的实例,并且每一个Dalvik 应用作为一个独立的Linux进程执行。独立的进程可以防止在虚拟机崩溃的时候所有程序都被关闭。
自Android2.2开始,Dalvik支持JIT(just-in-time,即时编译技术)。
优化后的Dalvik较其他标准虚拟机存在一些不同特性:
优化后的Dalvik较其他标准虚拟机存在一些不同特性:
1.占用更少空间
2.为简化翻译,常量池只使用32位索引
3.标准Java字节码实行8位堆栈指令,Dalvik使用16位指令集直接作用于局部变量。局部变量通常来自4位的“虚拟寄存器”区。这样减少了Dalvik的指令计数,提高了翻译速度。
3.标准Java字节码实行8位堆栈指令,Dalvik使用16位指令集直接作用于局部变量。局部变量通常来自4位的“虚拟寄存器”区。这样减少了Dalvik的指令计数,提高了翻译速度。
什么是ART?
即Android Runtime
ART 的机制与 Dalvik 不同。在Dalvik下,应用每次运行的时候,字节码都需要通过即时编译器(just intime ,JIT)转换为机器码,这会拖慢应用的运行效率,而在ART环境中,应用在第一次安装的时候,字节码就会预先编译成机器码,使其成为真正的本地应用。这个过程叫做预编译(AOT,Ahead-Of-Time)。这样的话,应用的启动(首次)和执行都会变得更加快速。
优点:
1、系统性能的显著提升。
2、应用启动更快、运行更快、体验更流畅、触感反馈更及时。
3、更长的电池续航能力。
4、支持更低的硬件。
缺点:
1.机器码占用的存储空间更大,字节码变为机器码之后,可能会增加10%-20%(不过在应用包中,可执行的代码常常只是一部分。比如最新的Google+ APK 是 28.3 MB,但是代码只有 6.9 MB。)
2.应用的安装时间会变长。
ART虚拟机是如何做到无缝替换Dalvik虚拟机的:
0 0
- Android中的Dalvik和ART有啥区别?
- Android 中的Dalvik和ART是什么,有啥区别?
- Android 中的Dalvik和ART是什么,有啥区别?
- Android 中的Dalvik和ART是什么,有啥区别?
- Android 中的Dalvik和ART
- Android 中的Dalvik和ART
- Android中的Dalvik和ART详解及区别分析
- android dalvik和art的区别
- Dalvik 和 ART区别
- ART和Dalvik区别
- Art和Dalvik区别
- ART和Dalvik区别
- Android中的ART和Dalvik对比
- Dalvik和ART的区别
- Dalvik和ART的区别
- Dalvik和ART的区别
- Dalvik和ART的区别
- Dalvik和ART的区别
- 链表反转
- 4.4以上的沉浸模式
- Android监听Log,悬浮显示
- csdn代码块如何是实现?
- 对React Native初步学习
- Android中的Dalvik和ART有啥区别?
- Cmake 生成vs工程报错。
- [ZJOI2015] 地震后的幻想乡
- 代码合并的两种方式详解
- SQL各种Join连接总结
- 前端高性能开发
- 关于maven clean 时候报错的问题
- Android:学习AIDL,这一篇文章就够了(下)
- 海思hi3519v101 串口调试