众所周知Google Android平台的开发语言是Java,但是Google并不是采用Sun公司的Java Micro Editon Virtual Machine,而开发了Dalvik虚拟机,它们之间的不同有很多地方,给移植带来了一定的问题,同时从Android SDK版本的升级上来看和Java ME的API越来越不兼容了。Dalvik的出现让大家猜测是摆脱升阳公司的授权问题,但通过开发就看出了Dalvik是一个平台级的Java虚拟机,有些类似BREW那样的产物,可以开发系统级的程序,而J2ME中是一个很高层的东西,封装的层面很高导致了功能受到大幅限制。
Dalvik在运行效率和GC上做的会比Jave ME好很多,比如进程和Activity的生命周期都是由虚拟机去决定,Google优化了Dalvik的多线程多任务能力,充分发挥Linux的多任务性,和Symbian的活动对象的不同,未来的硬件足够强大时自然多线程是必须的,AO还是无法解决一些复杂的问题。
本文对比了Google Android平台使用的Dalvik虚拟机与Java Micro Edition Virtual Machine的区别,详细介绍了Dalvik的特点,包括其在运行效率、垃圾回收机制上的优势以及如何更好地支持多线程和多任务。
1771

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



