首先,dvm获取生成的java类文件,将他们组合成一个或多个dvm可执行的.dex文件,这使得他可以使用多个类中的重复信息,与未压缩的传统的.jar文件相比,有效的将空间的需求减少到了一半。
其次,dvm对垃圾的收集进行了调优,他选择了jit(just in time :)即使删除编译器,据报告称,这可以提高2-5倍的原始性能,将通用的应用程序的性能提高了10-20%。
最后,dvm采用了不同的汇编代码生成方法,他使用寄存器而不是栈作为主要数据的存储单元,这样的结果是,android最终的可执行程序的代码不是java字节码而是.dex文件。
android这种性能的优化还体现在了sdk的其他部分,例如:android大量使用了xml来定义UI布局,并提供了专门的解析机制来使用xml数据。
本文探讨了DVM(Dalvik虚拟机)通过优化Java类文件生成.dex文件的方法,从而减少存储空间需求并提高执行效率。此外,还介绍了DVM如何通过即时编译器(JIT)提高应用性能,以及采用寄存器而非栈作为主要数据存储单元的技术细节。
3131

被折叠的 条评论
为什么被折叠?



