《精通Android3》之Dalvik VM剖析
来源:互联网 发布:win10获取权限软件 编辑:程序博客网 时间:2024/05/16 23:52
本文的主要内容摘自《精通Android3》
1.3Dalvil VM剖析
“作为Android平台的一部分,Google公司花了大量时间思考针对低功耗手持设备的优化设计。与桌面设备相比,手持设备在内存和速度方面落后8-10年。它们的计算能力也有限。结果,手机的性能需求变得很严格,要求手机设计人员优化所有因素。如果查看Android中的包列表,你将会看到他们的功能全面而丰富。
这些问题使Google公司在许多方面重新审视标准JVM实现。(Dan Bornstein对Google公司的这个JVM实现作出了重要贡献,他编写了Dalvik VM,Dalvik是冰岛一个小镇的名称。)首先,Dalvik VM获取生成的Java类文件,将它们组合为一个或多个Dalvik可执行文件(.dex)。它重用多个类文件中的重复信息,与未压缩的传统.jar文件相比,有效地将空间需求减少了一半。
其次,Google公司在Dalvik VM中对垃圾收集进行了调优,但它在早期版本中选择了删除JIT(Just-In-Time,即时)编译器。Android2.3添加了JIT。报告称这可在各种场所提供快2到5倍的原始性能,将通过应用程序的性能提升10%-20%。
最后,Dalvik VM使用了一种不同的汇编代码生成方法,它使用寄存器而不是栈作为主要的数据存储单元。Google公司希望这样能将指令减少到30%。应当指出,采用Dalvik VM的一个结果是,Android中最终的可执行程序代码不是基于Java字节码,而是基于.dex文件。这意味着无法直接执行Java字节码,必须首先得到Java类文件,然后将它们转换成可连接的.dex文件。
这种对性能的狂热追求还拓展到了Android SDK其他部分。例如,Android SDK大量使用XML来定义UI布局。然而,所有XML数据必须编译成二进制文件,然后才能将这些文件储存在设备上。Android提供了一些专门的机制来使用XML数据。”
- 《精通Android3》之Dalvik VM剖析
- Dalvik VM 剖析
- Dalvik VM 剖析
- Dalvik VM
- 《精通Android3》学习笔记
- android开发之Dalvik VM与Java VM 以及 Dalvik模式和ART模式
- 面试问题之:Dalvik VM和JVM的区别(1)
- Android Dalvik VM内存优化之内存查看篇。
- Dalvik VM介绍
- Dalvik VM介绍
- android dalvik vm alloc
- android dalvik vm oo
- android dalvik vm alloc
- increase dalvik vm heapsize
- Dalvik vm Hash interface
- Dalvik VM Hash - implementation
- 基本Dalvik VM调用
- Android 的 Dalvik VM
- 工作周记
- Builder模式(创建者模式)
- 基于MTK平台的camera 移植总结
- NAS DIY(1)freebsd配置
- NYOJ-聪明的小珂
- 《精通Android3》之Dalvik VM剖析
- linux内核 一
- HDU - 5014 Number Sequence(贪心+位运算)
- hibernate插入,查询,删除等操作
- OpenCV中人脸识别代码实现
- 像操作普通文件一样操作FIFO --- 非阻塞方式打开,阻塞方式读取
- Grunt入门教程之二 —— concat插件
- C语法归约之变量声明和定义(0)
- 计数排序 小讲