Android系统架构

android源码学习目录

先上图

android系统架构图.png

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

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

五层内容的关系

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 ES3D绘图函数库
    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专有的驱动。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值