趣事一:Android运行的是Linux,但不是“地道的Linux”
为方便内部使用,Google打造了一个具有Google风味的Linux。Google认为需要在Linux内核中添加某些功能,这样才能更加适合Android。比如“唤醒锁(wake locks)”机制就是Google为Linux添加的功能,目的是为了更好地管理电源,该机制允许Android程序请求内核不要进入低耗电状态。有趣的是这些变化最开始并没有被Linux内核“接受”,因此Google只能自己维护一个Android版Linux。
趣事二:Android使用Java开发平台,但并非Java ME
和 Linux不同,Android不是Java ME分支。Android提供自己的基于Java的软件开发工具包(SDK)。除AWT和Swing外,该工具包还支持很多Java SE。但是该工具包在Java框架内核基础上部署了一些有限的JSR。比如Android对Open GL的支持类似于JSR 239。
趣事三:Android运行着一个名为Dalvik的虚拟机(VM),但并非一个Java虚拟机
Google为Android手机开发了一个全新的虚拟机;针对Android进行了优化。该虚拟机运行的不是Java代码,而是.dex文件。此外,Dalvik是一个基于registe的虚拟机。
在甲骨文收购Sun以后,甲骨文因为这个虚拟机把Google告上了法庭。但人们普遍认为此举是搬石头砸自己的脚。
|