ANDROID框架结构和介绍
下图是ANDROID4.4 版本包含的所有系统服务、本地服务和应用的框架图,组织为三层:应用层、系统服务层、本地进程和服务层。应用层通常通过服务提供的对外API接口(一个服务管理对象)与服务交互,系统服务层通过JNI或者本地SOCKET与本地进程实现交互。
几乎所有的系统服务层的服务(除了SenSorService)都是使用JAVA语言实现的,这些服务工作于同一个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框架结构和介绍的更多相关文章
- Android sdk目录介绍
android sdk目录介绍 build-tools 各版本SDK编译工具 docs 离线开发者文档Android SDK API参考文档 extras 扩展开发包,如兼容架包. platforms ...
- 我的Android第三章:Android的组件介绍
小编摘录了Android文档介绍Android四大组件的基本内容,感觉文档的内容写的很详细所以小编将它写入了博客 Android 使用Java语言开发.Android SDK 工具编译代码-以及任意数 ...
- GitHub上排名前100的Android开源库介绍(来自github)
本项目主要对目前 GitHub 上排名前 100 的 Android 开源库进行简单的介绍,至于排名完全是根据 GitHub 搜索 Java 语言选择 (Best Match) 得到的结果,然后过滤了 ...
- android MVP模式介绍与实战
android MVP模式介绍与实战 描述 MVP模式是什么?MVP 是从经典的模式MVC演变而来,它们的基本思想有相通的地方:Controller/Presenter负责逻辑的处理,Model提供数 ...
- Android 不同文件名介绍
Android 不同文件名介绍
- Android发展简单介绍
Android一词的本义指“机器人”,同一时候也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统.中间件.用户界面和应用软件组成,号称是首个为移动 ...
- Android IntentService使用介绍以及源码解析
版权声明:本文出自汪磊的博客,转载请务必注明出处. 一.IntentService概述及使用举例 IntentService内部实现机制用到了HandlerThread,如果对HandlerThrea ...
- Android Jetpack 组建介绍(一)——Lifecycler
转自带你领略Android Jetpack组件的魅力 Android Jetpack 对于任何一个产品来说,我们开发中都会面对哪些问题?如:产品交互.用户体验.代码结构.数据获取.数据存储.网络优化. ...
- [原创]AndroBugs_Framework Android漏洞扫描器介绍
[原创]AndroBugs_Framework Android漏洞扫描器介绍 1 AndroBugs_Framework Android 漏洞扫描器简介 一款高效的Android漏洞扫描器,可以帮助开 ...
随机推荐
- FORM开发技术之动态控制某些item的属性
利用FORM内置函数控制ITEM包括按钮,普通ITEM等等的属性,更多内置函数学习课参考我的博客FORM内置系统函数 http://blog.csdn.net/cai_xingyun/article/ ...
- 剑指Offer——好未来视频面知识点储备+面后总结
剑指Offer--好未来视频面知识点储备+面后总结 情景介绍 时间:2016.10.12 13:00- 地点:宿舍 事件:好未来视频面 知识点储备 数据结构 单链表反转 public class Li ...
- 2.Lucene3.6.2包介绍,第一个Lucene案例介绍,查看索引信息的工具lukeall介绍,Luke查看的索引库内容,索引查找过程
1 Lucen目录介绍 2 lucene-core-3.6.2.jar是lucene开发核心jar包 contrib 目录存放,包含一些扩展jar包 3 案例 建立第一个Lucene项目 ...
- shell的输入和输出
1.echo echo [option] string -e 解析转义字符 -n 回车不换行,linux系统默认回车换行 转移字符 \c \t \f \n #!/bin/bash #echo e ...
- Select标签 根据value值默认选中 Jquery
网上找了很多都是错的,不行的. 下面方法可以的 <script type="text/javascript"> $(document).ready(function() ...
- 2.1、Android Studio通过Lint提升你的代码
为了测试你的Android应用符合功能需求.最重要的是确保你的代码没有结构性问题.结构差的代码影响你的Android应用的可靠性,让你的代码难以维护.比如,如果你的XML资源文件包含未使用的明明空间, ...
- 皮尔森相似度计算举例(R语言)
整理了一下最近对协同过滤推荐算法中的皮尔森相似度计算,顺带学习了下R语言的简单使用,也复习了概率统计知识. 一.概率论和统计学概念复习 1)期望值(Expected Value) 因为这里每个数都是等 ...
- 数据库再设计(Database Redesign)
数据库设计有三个来源:(1)可以从现有数据开始设计数据库,例如从excel表格等,这种模式下需要考虑的问题是数据的normalization,最终通常将数据转化为BCNF范式:(2)设计新的数据库,这 ...
- RabbitMQ消息队列(六):使用主题进行消息分发
在上篇文章RabbitMQ消息队列(五):Routing 消息路由 中,我们实现了一个简单的日志系统.Consumer可以监听不同severity的log.但是,这也是它之所以叫做简单日志系统的原因, ...
- 【一天一道LeetCode】#88. Merge Sorted Array
一天一道LeetCode 本系列文章已全部上传至我的github,地址:ZeeCoder's Github 欢迎大家关注我的新浪微博,我的新浪微博 欢迎转载,转载请注明出处 (一)题目 Given t ...