一 . android 体系结构分四层 : 应用层 应用框架层 运行库 Linux 内核层
应用层 :开发者开发的应用程序
应用框架层: 为应用层提供API ,以及复用的组件. 主要包括
View System, Content system , Resource system, Notification Manager, Activity Manager, PackageManager , Window Manger.
运行库 : 相当于中间件层,分两部分,一部分是系统运行库,另一部分是Android 运行环境.
中间件包括 : SQLite , WebKit, libc , OpenGL es, surfaceManger, SSL(网络通信安全协议), media Framework, FreeType (位图和矢量字体渲染引擎),SGL(基于Skia的2D图形渲染引擎)
二 android 启动过程的底层实现
1 启动步骤:
系统加电
内核加载进内存,内核引导阶段,.start_kernel最终启动用户空间的init 程序.
init程序负责解析init.rc配置文件,开启zygote 和serviceManager进程.
zygote虚拟机启动子进程system-server,在system_server中开启android 核心系统服务并将核心系统服务添加到serviceManager,然后系统进入systemReady 状态.
在systemReady 状态下,ActivityManagerService 与zygote中的Socket通信,通过zygote启动home应用.