Featured image of post 初识Android

初识Android

慢慢来吧

Android的系统架构

Android系统分为5层,从高到低分别是应用层、应用框架层、系统运行库层、硬件抽象层和Linux内核层。如图:

应用层(Applications)​

用户直接交互的界面,包含系统预装应用(如电话、短信、浏览器)和第三方应用,也就是我们直接接触的界面。

应用框架层(Application Framework)​

为开发者提供API接口和核心服务。Android 4大组件,6大布局,api的定义,view等系统定义的原生组件都在这层。

系统运行库层(Libraries + Android Runtime)​

原生C/C++库​

提供底层功能支持,如图:

Android Runtime (ART)

采用AOT(提前编译)替代Dalvik的JIT(即时编译),提升运行效率。管理应用进程、内存分配及垃圾回收。

与 Dalvik 对比:

硬件抽象层(HAL, Hardware Abstraction Layer)​

硬件抽象层 (HAL) 提供标准界面,向更高级别的 Java API 框架显示设备硬件功能。HAL 包含多个库模块,其中每个模块都为特定类型的硬件组件实现一个界面。当框架 API 要求访问设备硬件时,Android 系统将为该硬件组件加载库模块。厂商会在这层定义自己的HAL接口。HAL运行在用户空间(User Space ),这样的一层就是专门为各个厂商服务,为其设计自己的风格。

Linux内核层(Linux Kernel)​

Android核心系统服务依赖于Linux内核,包括安全性、内存管理、进程管理、网络协议和驱动模型等。Linux内核也同时作为硬件和软件栈之间的抽象层。

生活由投入其中的每一天构成
使用 Hugo 构建
主题 StackJimmy 设计