Android系统架构分为四层 从上往下一次是
应用层 、 应用框架层 、系统运行库层 、Linux内核层

1楼、应用层:安装在手机上的应用程序都安装在这一层
2楼、应用程序框架层:简化组件的重用,开发人员可以直接使用其提供的组件来进行
快速的应用程序开发,也可以通过继承而实现个性化的拓展
Activity Manager(活动管理器):管理各个应用程序生命周期以及回退功能
Window Manger(窗口管理器):管理所有的窗口程序
Content Provider(内容提供者):使得不同应用程序之间存取或者分享数据
View System(视图系统):构建应用程序的基本组件
NotificationManager(通告管理器):使得应用程序可以在状态栏中显示自定义的提示信息
Packge Manager(包管理器):Android 系统内的程序管理
TelephoneManager(电话管理器):管理所有的移动设备功能
Resource Manager(资源管理器):提供应用程序使用的各种非代码资源
LocationManger(位置管理器) :提供位置服务
XMPP Service :(XMPP服务)
3楼、分为两部分:系统库和Android运行时
系统库: SurfaceManager:执行多个应用程序时候,负责管理显示与存取操作间的互动,另外 也负责2D绘图与3D绘图进行显示合成
Media Framework:多媒体库,基于PacketVideo OpenCore;支持多种常用的音 频、视频格式录制和回放,编码格式包括MPEG4、MP3、H.264、AAC、ARM。
SQLite:小型的关系型数据库引擎
OpenGL|ES:3D绘图函数库
FreeType:用于显示位图和矢量字体
WebKit:Web浏览器的软件引擎
SGL:底层的2D图形渲染引擎
SSL:安全套接层,是为网络通信提供安全及数据完整性的一种安全协议
Libc:继承自BSD的C函数库bionic libc,更适合基于嵌入式Linux的移动设备
Android运行时 核心库:提供了JavaAPi中的大多数功能,同时包含了Android的一些核心 API 如:android.os、android.net、android.media
Dalvik虚拟机:Dalvik虚拟机是一种基于寄存器的Java虚拟机,,Android程 序在虚拟机中执行的并非编译后的字节码,而是通过转换工具dx将Java字节 码转成dex格 式的中间码。
Dalvik和标准Java虚拟机的区别:

Linux内核层:
Android系统是基于Linux内核的,这层为Android设备的各种硬件提供了底层驱动,如显示驱动、音频驱动、照相机驱动、蓝牙驱动、Wi-Fi驱动、电源管理等
网友评论