在Android系统中,内核层采用Linux,而Linux内核绝大部分代码是使用C语言;Native Framework层的代码主要使用C++语言;Java Framework层和Application层则使用Java语言。
C语言是典型的过程式和结构化程序设计语言,由于支持位运算及内存地址操作,因此该语言适用于系统级和嵌入式软件开发。面向对象程序设计语言C++是在保持C语言效率的基础上扩展面向对象特性得到的。另一个面向对象程序设计语言Java虽然具备许多独立的特性,但它是在摒弃了多种语言的不足之处,从根本上解决了C++的固有缺陷后而开发的面向对象语言。Java对象其实是从C++中的对象和指针共同继承而来的。因此,在操作系统软件的底层部分(典型的部分是内核层及C库)常用C语言实现,而高层部分则采用面向对象程序设计语言实现。
从上面的描述中,我们不难理解为什么Android系统需要使用C、C++和Java语言共同开发。
备注:
WP8和iOS系统都是C语言系统,安卓正是因为加入了Java语言,使得流畅度始终不如WP和iOS