前言
写这篇文章是个Android系列内容开篇,主要用于回顾记录也用于学习。 学习Android首先要掌握系统的基本结构层级,这样有助于整体理解。初学者只需要记住有多少层次结构就行不需要全部理解,等后面主要模块学习完再回顾过来理解就会特别清楚。
基本架构
Android系统自上而下总共分为应用程序层、应用程序框架层、核心库和Android运行时以及Linux内核
- 应用程序层
用户程序界面,通俗一点就是我们手机承载安装手机程序的“地方” - 应用程序框架层
主要包括活动管理器、窗口管理器、内容提供者、视图系统、通知管理、包管理器、电话管理器、资源管理器、位置管理器、xmpp服务,/b>,此层为java程序层,主要为应用程序层提供支持 此层之下为C/C++程序库,主要通过JNI从Java到C/C++的调用 - 核心库和Android运行时
主要包含九个程序库(C/C++编写)以及Android核心库和Dalvik虚拟机 - Linux内核
Android核心系统服务依赖于Linux2.6内核,如安全性、内存管理、进程管理、网络协议栈和驱动模型。Linux内核也是作为硬件与软件栈的抽象层。驱动:显示驱动、摄像头驱动、键盘驱动、WiFi驱动、Audio驱动、flash内存驱动、Binder(IPC)驱动、电源管理等。
总结
- 应用程序开发主要集中在 应用程序层和应用程序框架层
- Android系统开发主要针对核心库和Android运行时
- 驱动开发主要针对Linux内核
|