01 Android 五层架构

一 Android五层架构

  1. 系统应用
  2. Java API框架
  3. 原生 C库与Android运行时
  4. 硬件抽象层 (HAL)
  5. Linux内核

在这里插入图片描述

一.1 Android旧版架构

在这里插入图片描述

旧版四层架构,因升级困难导致Android碎片化已被谷歌弃用!

二 五层架构介绍

二.1 平台基础 - Linux内核

在这里插入图片描述

  • Android Runtime(ART) 依靠Linux内核来执行底层的功能线程底层内存管理
  • 使用Linux内核使得Android更安全
  • 便于移动设备制造商为内核开发硬件驱动程序 - Driver
  • 用户空间驱动:允许硬件厂商提供闭源驱动,同时回避开源版权协议
  • 高级电源管理:较PC内核更精细的模块级电源控制
  • 重难点:向新设备适配Android的Linux内核

二.2 硬件抽象层

在这里插入图片描述

  • 向更高级别的Java API 框架提供标准硬件功能界面
  • 包含多个库模块,每个模块都为一种硬件实现一个界面,例:相机和蓝牙
  • 当Java API 框架 访问设备硬件时,Android系统加载该硬件的驱动模块

二.3 原生C/C++ 库 与 Android虚拟机

在这里插入图片描述

  • 基本库:

    • html库: webkit
    • 加密库: OpenSSL
    • 图形库: OpenGL
    • 数据库: SQLite
  • 许多Android核心系统组件和服务(ART、HAL)构建于自原生代码,依赖于原生库

  • 通过框架层的Java API供APP开发者调用

  • Android NDK可直接从C/C++代码访问原生C/C++库


在这里插入图片描述

Android 虚拟机

  • 在 Android 5.0(API 级别 21)之后,App 都在自己的进程中运行,并且有自己的ART实例
  • ART 通过执行 DEX 字节码在低内存设备上运行多个虚拟机DEX 文件是一种专为 Android 设计的 Java 字节码格式,使用的内存很少
  • 在 Android 版本 5.0(API 级别 21)之前,Dalvik 是 Android Runtime
  • ART的主要功能
    1. 预先(AOT)和即时(JIT)编译
    2. 优化的垃圾回收(GC)
    3. 更好的调试支持

二.4 框架层 - 向开发者提供Java API

在这里插入图片描述

  • 开发者需要通过Java语言使用Android的整个功能集
  • 应用集有:
    • 构建应用的视图(View):包括列表、网格、文本框、按钮甚至可嵌入的网络浏览器
    • 资源管理器:用于访问非代码资源,例如本地化的字符串、图形和布局文件
    • 通知管理器:可让所有应用在状态栏中显示自定义提醒
    • Activity 管理器:用于管理应用的生命周期,提供常见的导航返回栈
    • 内容提供程序(Content Provider):可让应用访问其他应用(例如“联系人”应用)中的数据或者共享其自己的数据

框架层是Android的核心,版本升级主要是框架层 API Level

二.5 核心应用层

在这里插入图片描述

  • Android提供一整套的核心应用: 电话、E-mail、地图、浏览器等
  • 可使用Java API 和 Android Java API
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值