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开源巨大潜力的一种表现。