ANDROID框架结构和介绍
2015-07-20 09:20
411 查看
下图是ANDROID4.4 版本包含的所有系统服务、本地服务和应用的框架图,组织为三层:应用层、系统服务层、本地进程和服务层。应用层通常通过服务提供的对外API接口(一个服务管理对象)与服务交互,系统服务层通过JNI或者本地SOCKET与本地进程实现交互。
几乎所有的系统服务层的服务(除了SenSorService)都是使用J***A语言实现的,这些服务工作于同一个SystemServer进程,因此称为系统服务。系统服务层的服务有些是系统内部使用的,没有对应用层提供对外的API接口,这些服务在图中用白色方框表示,包括电池服务BatteryService、传感器服务SenSorService、MountService、LockSettingsService、NetworkManagerService、NetworkStatsService、DeviceStorageMonitorService、EntropyMixer、ContentService、DiskStatsService、SamplingProfilerService、CommonTimeManagementService、DreamManagerService、AssetAtlasService。
该层的其它服务都对外提供一个管理对象供应用使用。
本地进程和服务采用C++语言实现,除了包括实现特殊功能的zygote进程(孵化进程,负责子进程的生成)和servicemanager进程(也称为0号服务,所有其它服务必须在该进程中注册才能被其它进程使用)外,还包括负责媒体功能的media 进程(该进程包括AudioFlinger、MediaPlayerService、CameraService、AudioPolicyService四个媒体相关的服务),负责图形绘制的surfaceflinger进程,以及keystore(密钥管理进程)、installd(包安装进程)、ueventd(LINUX内核通讯进程)、healthd(电池健康管理进程)、vold(存储卷的守护进程)、netd(网络守护进程,负责底层网络功能)、rild(电话raido
接口层守护进程,负责与底层radio的交互)、drm(数字版权管理进程)等。
因此可以说ANDROID系统就是各种服务的集合,通过服务之间的交互和配合共同实现了系统的所有功能。
如果掌握了每个服务的架构和工作机理,也就能够深刻理解和掌握整个ANDROID操作系统,这也是本博客ANDROID框架解析系列文章要达到的目的。
几乎所有的系统服务层的服务(除了SenSorService)都是使用J***A语言实现的,这些服务工作于同一个SystemServer进程,因此称为系统服务。系统服务层的服务有些是系统内部使用的,没有对应用层提供对外的API接口,这些服务在图中用白色方框表示,包括电池服务BatteryService、传感器服务SenSorService、MountService、LockSettingsService、NetworkManagerService、NetworkStatsService、DeviceStorageMonitorService、EntropyMixer、ContentService、DiskStatsService、SamplingProfilerService、CommonTimeManagementService、DreamManagerService、AssetAtlasService。
该层的其它服务都对外提供一个管理对象供应用使用。
本地进程和服务采用C++语言实现,除了包括实现特殊功能的zygote进程(孵化进程,负责子进程的生成)和servicemanager进程(也称为0号服务,所有其它服务必须在该进程中注册才能被其它进程使用)外,还包括负责媒体功能的media 进程(该进程包括AudioFlinger、MediaPlayerService、CameraService、AudioPolicyService四个媒体相关的服务),负责图形绘制的surfaceflinger进程,以及keystore(密钥管理进程)、installd(包安装进程)、ueventd(LINUX内核通讯进程)、healthd(电池健康管理进程)、vold(存储卷的守护进程)、netd(网络守护进程,负责底层网络功能)、rild(电话raido
接口层守护进程,负责与底层radio的交互)、drm(数字版权管理进程)等。
因此可以说ANDROID系统就是各种服务的集合,通过服务之间的交互和配合共同实现了系统的所有功能。
如果掌握了每个服务的架构和工作机理,也就能够深刻理解和掌握整个ANDROID操作系统,这也是本博客ANDROID框架解析系列文章要达到的目的。
相关文章推荐
- Android:EditText属性大全
- Android 代码混淆打包
- Android自己动手打造XML解析框架
- Android基础入门教程——1.10 反编译APK获取代码&资源
- Android基础入门教程——1.9 Android程序签名打包
- Android基础入门教程——1.8 工程相关解析(各种文件,资源访问)
- Android RecyclerView
- Android基础入门教程——1.7 界面原型设计
- Android基础入门教程——1.6 .9(九妹)图片怎么玩
- Android系统的常用权限
- Unable to resolve target 'android-18' android导入工程报错
- Android udp编程笔记 1
- Android 使用Universal Image Loader绘制带圆角的图片(一)
- 【攻克Android (1)】安装Android Studio,搭建Android开发环境
- Android第三方框架之xListView的使用方法
- Android XListView实现原理讲解及分析
- 两天学会DirectX 3D之第二天
- imx515 uboot UBIFS移植及android UBIFS文件系统烧写
- 【Android界面实现】ZListView,一个最强大的刷新、加载、滑动删除的ListView控件(二)
- [ Android界面实现 ] ZListView,一个最强大的刷新、加载、滑动删除的 ListView 控件(一)