前言
如何快速高效的掌握一门学问,建议先阅读下这篇文章关于学习的一些看法。
码字不易,记得关注+点赞+收藏
Android Framework系列文章:
Android 平台架构图(熟记)
Linux Kernel(内核)
主要管理:电源,驱动,进程,内存,网络协议,安全等。
简记:电动车进内网比较安全。
硬件抽象层(HAL Hardware Abstraction Layer)
将音视频,相机,蓝牙等硬件抽象化,并公开其相关功能的标准接口,以便于 Java API Framework 层访问。
Android 运行时环境
Android 5.0(API 级别 21)及以上使用ART,5.0以下使用DVM。
ART 的部分主要功能包括:
- AOT(预编译)和 JIT(即时编译)
- 优化的垃圾回收 (GC)
- 在 Android 9(API 级别 28)及更高版本中,可将应用软件包的 DEX 文件转换为更紧凑的机器代码
- 可提供更好的调试支持,包括专用采样剖析器、详细的诊断异常和崩溃报告,以及设置观察点以监控特定字段的能力
Android 还包含一套核心运行时库,可提供 Java API 框架所使用的 Java 编程语言中的大部分功能,包括一些 Java 8 语言功能。
ART与DVM的区别(重点):
- ART中,系统安装应用时会进行一次预编译,将字节码预先编译成机器码并存储在本地,使得应用每次运行时就不需要执行编译了,运行效率提高。
- DVM中,应用每次运行时,字节码都需要通过即时编译器转换为机器码,使得应用的运行效率降低。
本地库 (Native C/C++ Libraries)
包括SQLite,Webkit,Media,Surface,OpenGL等核心库。
Java API Framework
为开发者提供API(Java代码编写)如常用的四大组件,View体系,通知管理器,资源管理器等。
应用层(System Apps):
系统内置应用及非系统级应用,负责与用户直接交互。