上图就是我们Android操作系统的框架图,分为四层,越往上越接近用户,越往下越接近硬件,下面我们从 下往上介绍。
一、Linux Kernel
我们需要Android操作系统的底层其实是linux操作系统的改版,我们可以看到这一层其实就是驱动, 用来专门与硬件打交道操作硬件的,像USB Driver(USB驱动)、keypad Driver(键盘驱动)。。。这一 层主要由C语言编写的
二、Libraries & Android Runtime
Libraries是我们系统运行库层,这一层主要是对硬件层的进一步封装,系统库是应用程序框架的支 撑,是连接应用程序框架层与Linux内核层的重要纽带,当我们需要调用某个驱动时,会调用这一层里面对 应的函数来调用对应的驱动,这一层主要由C语言编写的。 Android Runtime这一部分我们称之为Android运行时,这一部分也分为两个部分,核心库和Dalvik 虚拟机两部分。 核心库主要包括了javaAPI中的大多数功能,同时也包括了Android一些核心的API。 Dalvik虚拟机则是对java虚拟机的改进,进行了内存资源使用的优化。
三、Application Framework
这一层我们称之为应用框架层,是对运行库层的进一步封装,主要是对application层的支撑。
四、Application
Android平台不仅仅是操作系统,也包含了许多应用程序,诸如SMS短信客户端程序、电话拨号程 序、图片浏览器、Web浏览器等应用程序。这些应用程序都是 用Java语言编写的,并且这些应用程序都是 可以被开发人员开发的其他应用程序所替换,这点不同于其他手机操作系统固化在系统内部的系统软件, 更加灵活和个 性化。