- 1、本文档共40页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Android系统架构概述
罗升阳
/shengyangluo
/luoshengyang
About Me
• 《老罗的Android之旅》博客作者
• 《Android系统源代码情景分析》书籍作者
• 博客:
/Luoshengyang
• 微博:/shengyangluo
Agenda
• Android系统整体架构
• Android专用驱动
• Android硬件抽象层
• Android应用程序组件
• Android应用程序框架
• Android用户界面架构
• Dalvik虚拟机
Android系统整体架构
Android
OS
=
Android
Runtime
+
Linux
Kernel
Android专用驱动
• Logger
– 完全内存操作
– 适合频繁读写
Android专用驱动(续)
• Binder
– Client/Server模型
– 进程间一次数据拷贝
– 进程内直接调用
Android专用驱动(续)
• Ashmem
– 使用文件描述符描述
– 通过Binder在进程间传递
7
Android硬件抽象层HAL
• 设备驱动分为内核空间和用户空间两部分
– 保护厂商利益(出发点)
– 内核空间主要负责硬件访问逻辑(GPL)
– 用户空间主要负责参数和访问流程控制(Apache License)
• 用户空间部分设备驱动即为HAL Module
– HAL Module通过设备文件访问内核空间部分设备驱动
• 系统服务通过HAL Module对硬件进行管理
– 系统服务通过JNI访问HAL Module
• 应用程序通过系统服务对硬件进行访问
– 应用程序通过Binder IPC访问系统服务
Android硬件抽象层HAL(续)
9
Android应用程序组件
• Android应用程序的一般架构
cEvery
omponthing i
ent s
Android应用程序组件(续)
• 四大组件(砖头)
– Activity -- UI、交互
– Service -- 后台计算
– Broadcast Receiver -- 广播
– Content Provider -- 数据
Activity Service
Content Provider Broadcast Receiver
Android应用程序组件(续)
• Activity生命周期
– 由ActivityManagerService管理
12
Andr
文档评论(0)