android开发者使用java,不过android平台不用java虚拟机来执行代码,而是把应用编译成Dalvik字节码(5.0以后Dalvik被ART取代),使用Dalvik虚拟机来执行。Java代码代码仍然编译成Java字节码,但随后Java字节码会被dex编译器(dx,SDK工具)编译成Dalvik字节码。最终,应用包只包含Dalvik字节码,而不是java字节码。
android应用也称为apk,因为应用被打包成带有apk后缀的文件,(apk文件只是个简单的ZIP压缩文件,可以使用常见的压缩解压工具如WinZip来查看apk文件的内容)这是一个简单的压缩文件。clasess.dex就在这个压缩文件里,他包含了应用的字节码。Android的工具包中有名为dexdump的工具,可以把classes.dex中的二进制代码转化为使人易读的格式。
在android2.2中引入了实时(JIT)编译器。Dalvik JIT编译器把Dalvik字节码编译成本地代码,这可以明显加快执行速度。JIT编译器可以显著提高性能,因为:
1,本地代码直接由CPU执行,而不必由虚拟机解释执行。
2,本地代码可以为特定架构予以优化
android 2.2的代码执行速度比android 2.1快2到5倍。虽然代码的具体功能对结果产生很大影响,但可以肯定的是,使用android 2.2 及更高版本会显著提升速度。
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦