Android的系统结构

来源:互联网 发布:淘宝采集软件有什么用 编辑:程序博客网 时间:2024/04/28 06:01

Android系统的底层建立在Linux系统之上,整个系统采用软件叠层(Software Stack)的方式进行构建,包括4层:操作系统层、中间件层、用户界面层和应用软件层。叠层结构能够使层与层之间相互分离,明确各自的分工,保证了层与层之间的低耦合。下面根据Android系统的体系结构图,对各个部分进行介绍。
这里写图片描述

一、Linux内核
Android系统建立在Linux2.6之上,Linux内核是系统硬件和软件叠层之间的抽象层,它提供了安全性、内存管理、进程管理、网络协议栈、驱动模型等核心系统服务。驱动模型包括:

  • Disney Driver:显示驱动
  • Camera Driver:摄像头驱动
  • Flash Memory Driver:闪存驱动
  • Binder(IPC) Driver:Binder(IPC)驱动
  • Keypad Driver:键盘驱动
  • WiFi Driver:WiFI驱动
  • Audio Driver:音频驱动
  • Power Management:电源管理

二、系统库

  • Surface Manager:管理对显示子系统的访问。
  • Media Framework:媒体库,基于PacketVideo的OpenCORE,支持查看静态图片、支持录制和播放多种主流格式的音视频文件,包括PNG、JPG、MPEG4、H.264、MP3、AAC、AMR等。
  • SQLite:功能强大的轻量级关系数据库。
  • OpenGL ES:用于3D开发的系统库
  • FreeType:位图和向量字体显示。
  • WebKit:Web浏览器引擎。
  • SGL:底层的2D图形引擎。
  • SSL:网络通信中进行SSL加密的库。
  • libc:标准C系统库。

三、Android运行时
在Android5.0以前,Android运行时由两部分组成:Android核心库Dalvik虚拟机。从5.0开始,ART取代了Dalvik虚拟机。原因在于,Dalvik虚拟机采用JIT(Just-in-time)解释器进行动态编译并执行,导致APP运行时比较慢;而ART模式在用户安装APP时进行预编译(Ahead-of-time,AOT)操作,将原本在程序运行时的编译动作提前到用户安装时,字节码预先编译成机器码,使其成为真正的本地应用。ART虽然占用了更多的存储空间,延长了应用安装和系统启动的时间,但是它可以减少程序运行时动态编译的开销,提高APP的运行效率。

四、应用程序框架
开发人员在开发Android应用程序时,就是面向底层的应用程序框架层进行的。应用程序框架层提供了大量API供开发者使用。应用程序框架既是应用程序开发的基础,也是软件复用的重要手段。该层包括:

  • Activity Manager:活动管理器
  • Window Manager:窗口管理器
  • Content Providers:内容提供者
  • View System:视图系统
  • Package Manager:包管理器
  • Telephony Manager:电话管理器
  • Resource Manager:资源管理器
  • Location Manager:位置管理器
  • Notification Manager:通知管理器

五、应用程序层
该层提供一些核心应用程序包,例如电子邮件、短信、日历、地图、浏览器和联系人管理等。同时,开发者可以利用Java语言设计和编写属于自己的应用程序。

0 0
原创粉丝点击