1.2 Android系统

Android系统简介

Android系统的底层是建立在Linux系统之上,该平台由操作系统、中间件、用户界面和应用软件4层组成,它采用一种被称为软件叠层(Software Stack)的方式进行构建。这种软件叠层结构实现了层与层之间的低耦合,当下层的层内或层下发生改变时,上层的应用程序无需任何改变。

Android系统主要由6部分组成:
1.系统App层
Android系统包含一系列核心APP,包括电话拨号应用、电子邮件客户端、日历、相机、联系人等。普通开发者开发的Android APP就是位于这一层。

2.Java API框架层
Java API既是App开发的基础,也是软件复用的重要手段。任何一个应用程序都可以发布它的功能模块——只要发布时遵守了API框架的规范,其他App就可以调用这个功能模块。

3.原生C/C++库
一般,Android应用开发者不能直接调用这套C/C++库集,而是通过它上面的Java API框架来间接调用这些库。
常见C/C++库:

  • WebKit:一个全新的Web浏览器引擎,该引擎为Android浏览器提供支持,也为WebView提供支持。
  • OpenMAX(开放媒体加速层):其目的在于使用统一的接口,加速处理大量多媒体资料。其中最上层为OpenMAX AL(App Layer),该层代表App和多媒体中间层的标准接口,使得多媒体在多媒体接口上具有良好的可移植性。
  • Libc(系统C库):一个从BSD系统派生的标准C系统库,并且专门为嵌入式Linux设备调整过。
  • Media Framework(媒体框架):基于PacketVideo的OpenCORE,这套多媒体库支持播放和录制许多流行的音频和视频格式,以及查看静态图片。
  • SGL:底层的2D图形引擎。
  • OpenGL ES:基于OpenGL ES API实现的3D系统,这套3D库既可使用硬件3D加速,也可使用高度优化的软件3D加速。
  • SQLite:供所有应用程序使用的功能强大的轻量级关系数据库。

4.Android运行时
Android运行时由两部分组成:Android核心库和ART。其中核心库提供了Java语言核心库所能使用的绝大部分功能;而ART则负责运行Android应用程序。

5.硬件抽象层(HAL)
硬件抽象层主要提供了对Linux内核驱动的封装,这种封装可以向上提供驱动音频、蓝牙、摄像头、传感器等设备的编程接口,向下则可隐藏底层的实现细节。
Android系统把对硬件的支持分为两层:内核驱动层和硬件抽象层。其中底层的内核驱动层处于Linux内核中,内核驱动层只提供简单的硬件访问逻辑,这部分代码是完全开源的;而硬件抽象层则负责参数和访问流程控制,这层封装代码并不开源,它只是向上提供统一的编程接口,而具体的实现往往属于各厂家。

6.Linux内核
Android系统是基于Linux的。Linux内核提供了安全性、内存管理、进程管理、网络协议栈和驱动模型等核心系统服务。此外,Linux内核也是系统硬件和软件叠层之间的抽象层。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值