android体系结构:
1. Linux内核层
Android是基于Linux内核的操作系统,在Linux内核层,主要实现安全管理、进程管理、内存管理、电源管理、硬件驱动管理
2. 硬件抽象层
硬件抽象层是对Linux 硬件驱动程序的封装,向上提供接口,屏蔽低层的实现细节。硬件抽象层不开源,可保护硬件厂商的商业秘密,但是会影响系统的性能。
Android对硬件的支持分成了两层,一层放在用户空间(User Space),一层放在内核空间(Kernel Space),硬件抽象层运行在 用户空间, Linux 内核驱动程序运行在内核空间,内核驱动层只提供简单的访问 硬件逻辑,具体的实现细节,都放在硬件抽象层中 ,从而维护了硬件厂商的商业利益。
3. 原生库与Android运行时
Android的原生库主要基于C\C++实现的一些原生组件,包括C库Bionic、浏览器引擎Webkit、多媒体引擎OpenCORE、SQL数据库SQLite、3D渲染引擎OpenGL ES、位图和字体矢量渲染引擎FreeType、2D图像渲染引擎SGL(Skia Graphics Library)、互联网安全协议SSL等。
Android运行时主要包括Java核心库、Dalvik虚拟机,两者一起构成了Android的应用环境基础
4. 应用框架层
应用框架层是Google发布的核心应用所使用的API框架,开发人员可以使用这些框架提供的API来快速开发自己的应用程序,它本身也是用Java语言实现和开发的。
Activity Manager(活动管理)、Window Manager(窗口管理)、View Manager(视图管理)、Notification Manager(通知管理)、Content Provider(内容提供者)、Package Manager(包管理)、Resource Manager(资源管理)、Location Manager(位置管理)
5. 应用层
应用层是基于Android平台开发的应用,采用Java作为开发语言,包括系统自带的应用(短信管理、联系人管理、图库浏览、网页浏览等)和第三方开发的应用