首页 > 代码库 > Android系统架构剖析(一)

Android系统架构剖析(一)

      要说剖析,可能这个词可能用的太大了,下面对Android系统的介绍也就是从我个人理解来说吧。

      曾经有人问我,Android是什么?当时这个问题问的我真的蒙了,我就简单的回了一下:Android就是一个基于移动设备的操作系统。时至今日,这个问题我才知道回答的太浅了,我想只有真正的做过开发之后,才能去回答这个问题。

      那么Android到底是什么?我觉得Android就是用户与设备之间的一个接口,从Android的体系结构来看,Android分为4层,所以可以说Android是一个连接设备软件块,但是却并非是一些列组件的集合。

       Android是一个移动开发平台,其软件层次结构包括操作系统、中间件以及应用程序,整个体系结构从下到上分为4层:

  • 操作系统linux内核层
  • 各种类库、运行时
  • 应用程序框架层
  • 应用程序层

       linux内核层包括了linux内核以及一些驱动模块,比如说usb驱动、蓝牙驱动、相机驱动等。

       libraries层包括各种动态类库(2D、3D图像引擎、嵌入式数据库、网络浏览器核心等)、Android运行时库以及dalvik虚拟机(dalvik虚拟机在Android4.4之前用的,在4.4之后用的是art),从编程语言角度来看,这一层主要是c/c++写的,所以也可以说这层是native层。

       应用程序框架层,是一个应用程序的框架,用java语言写的,是Android平台上java语言的基石,所以这一层主要向应用层的开发者提供一些列的开发api,比如说各种ui控件等。

      应用程序层主要是用户界面。Android系统本身自带了一些应用,像联系人、短信、音乐播放器等应用,但是Android开发者也可以利用应用程序框架层的api开发出属于自己的个性化应用,我觉得这是Android开源巨大潜力的一种表现。

     


Android系统架构剖析(一)