Android系统架构
1、应用层
系统应用程序和我们开发的应用程序都位于该层,通常由java进行开发;
作用:负责与用户直接进行交互
2、应用框架层
作用:为应用层提供APP开发所需的API,由java语言编写
3、系统运行库层
由C++程序库和android运行时库两部分组成;
Android运行时库层:又有核心库和ART两部分组成(android5.0后,Dalvik虚拟机有ART替代);
Dalvik虚拟机与ART区别
Dalvik虚拟机:允许在有限的内存中同时运行多个虚拟机实例,并且每一个Dalvik应用作为一个独立的Linux进程执行,互不影响,防止在虚拟机崩溃的时候所有应用程序都被关闭;
Dalvik虚拟机运行机制:DVM中的应用每次运行时,字节码都需要被JIT(即使编译器)转化为机器码
ART运行机制:系统在安装应用是,会预先将字节码编译成机器码存储在本地,这样每次运行应用时就不用执行编译了,大大提供了效率;
4、硬件抽象层
是位于操作系统内核和硬件电路之间的接口层
作用:将硬件抽象化
5、Linux内存层
android核心系统服务基于Linux内核层,在此基础上添加了部分android专用的驱动;
roid核心系统服务基于Linux内核层,在此基础上添加了部分android专用的驱动;