趣事一: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告上了法庭。但人们普遍认为此举是搬石头砸自己的脚。
趣事四:Android并非Google开发
Android的幕后公司Android有限公司于2005年被Google收购,当时该公司是一家成立只有22个月的创业公司。2008年10月开源(Apache开源许可协议)。Google任命Android有限公司Andy Rubin为工程部副总。
趣事五:Android中运行有一个SQLite数据库
SQLite是一个轻量级关系数据库,内置在Android中,专门用于数据存储。Android程序也可以利用这个关系数据库管理系统。