码迷,mamicode.com
首页 > 移动开发 > 详细

Android的系统架构

时间:2017-09-06 14:38:25      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:war   短信   view   drive   linux系统   audio   driver   电源管理   image   

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语言设计和编写属于自己的应用程序。

 

Android的系统架构

标签:war   短信   view   drive   linux系统   audio   driver   电源管理   image   

原文地址:http://www.cnblogs.com/njxb1707/p/7484296.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!