Android系统架构

android源码学习目录

先上图


Android系统架构_第1张图片
android系统架构图.png

这是google官方给的Android系统架构图,共分五层

  • 应用层 applications
  • 应用框架层 frameworks
  • 系统运行库层--natice c/c++ libraries/android runtime
  • 硬件抽象层--hardware abstraction layer
  • Linux内核层--linux kernel

五层内容的关系


Android系统架构_第2张图片
android 层级.jpg

1.应用层-- system apps

系统内置应用和非系统应用都在这里,与用户直接交互,用Java开发

2:应用框架层--Java API Framework

它为应用层开发人员提供了开发所需的API,它所包含的内容很多,总分类如下:

  1. View systm(视图系统): 构建应用程序的组件,各种view控件等

  2. Content Privider(内容提供器):不同应用之间进行数据共享,是进程间通信

  3. 各种Manager:用于管理为用户提供的API的运行,内容如下

    名称 功能
    Activity Manager 管理各个应用程序的生命周期,以及寻常导航的回退等功能
    Location Manager 提供地理诶之及定位功能服务
    Package Manager 管理所有Android系统内app的安装卸载等
    Notification Manager 提供状态栏消息和自定义消息显示等功能
    Resource Manager 管理app内各种非代码资源,eg:字符串、图片、布局、颜色等
    Telephony Manager 管理所有移动设备功能
    Window Manager 管理所有开启的窗口程序

注意:不要混淆activity manager和window manager, activity并不直接管理界面的绘制交互等能力,它只是有window 的引用,所以在activity里能修改管理屏幕的显示,window进行界面的绘制和交互的接收,再分发到activity

3.C/C++程序库

上图看出这层分为两个部分,分别是C/C++程序库和Android运行时库

  • C/C++程序库

    能被Android不同组件使用,通过framework层为开发者提供服务,主要内容有

    名称 功能
    OpenGL ES 3D绘图函数库
    Libc 从BSD继承来的标准C函数库,专用于嵌入式设备
    Media Framework 多媒体库,支持常见音频 视频播放等
    SQLite 轻型关系型数据库引擎
    SGL 底层2D图形渲染引擎
    SSL 安全套层,为网络通信提供安全及数据完整性安全协议
    FreeType 可移植的字体引擎,提供统一姐儿口来访问多种字体格式文件
  • Android运行时库

    Android运行时库分ART和核心库,ART提供Java运行环境,核心库提供android特有的运行时C/C++函数库

4.硬件抽象层

本次位于操作系统内核和硬件电路之间,将手机硬件抽象为硬件接口,为Android系统操作手机硬件提供接口

5. Linux内核层

Android内核基于Linux内核开发,同时加入了 Android专有的驱动。

你可能感兴趣的:(Android系统架构)