Android 平台架构
首先要注意到,Android 系统有着极短的开发时间,因此 Android 在架构上有着四处借鉴的特点
Android 分为四个层,从低到高分别是 linux 核心层、系统运行库层、应用程序框架层和应用程序层
-
在最底层,Android 使用了 Linux 内核,从而能够利用起 Linux 已有的丰富的硬件支持
当然 Android 由于版权原因在 Linux 内核之上使用了完全不同的架构,现在已经被从 Linux 状态树上移出,算是完全脱离正式的 Linux系统了
-
在 Linux 内核之上,Android 选择使用 Java 进行各项 API 的开发
因此制作了适宜移动端使用的 Dalvik 虚拟机,现在已经换成了更快的 ART ),从而向上提供系统运行库
-
再往上则是丰富的应用程序框架层
-
最上层则是丰富的应用程序
利用 Jav a跨平台的性质,基于 Android 框架开发的应用程序可以不用编译运行于任何一台安装有 android 系统的平台,这可以说是 Android 的精髓所在
架构的简单理解
-
Application(应用程序层) 我们一般说的应用层的开发就是在这个层次上进行的,当然包括了系统内置的一组应用程序,使用的是Java语言
-
Application Framework(应用程序框架层) 无论系统内置或者我们自己编写的App,都需要使用到这层,比如我们想弄来电黑名单,自动挂断电话,我们就需要用到电话管理(TelephonyManager) 通过该层我们就可以很轻松的实现挂断操作,而不需要关心底层实现
-
Libraries(库) + Android Runtime(Android运行时) Android给我们提供了一组C/C++库,为平台的不同组件所使用,比如媒体框架;而Android Runtime则由Android核心库集 + Dalvik虚拟机构成,Dalvik虚拟机是针对移动设备的虚拟机,它的特点:不需要很快的CPU计算速度和大量的内存空间;而每个App都单独地运行在单独的Dalvik虚拟机内每个app对于一条Dalvik进程)而他的简单运行流程如
-
Linux内核 这里就是涉及底层驱动的东西了,一些系统服务,比如安全性,内存管理以及进程管理等