Android系统架构
Android系统架构分为五层:从上到下依次是应用层、应用架构层、系统运行库层、硬件抽象层和Linux内核层,如图:
应用框架层(Java API Framework)
主要组件:
系统运行库层
1)C/C++程序库
2)Android运行时库
运行时库又分为核心库和ART(5.0系统之后,Dalvik虚拟机被ART取代)。核心库提供了Java语言核心库的大多数功能,这样开发者可以使用Java语言来编写Android应用。相较于JVM,Dalvik虚拟机是专门为移动设备定制的,允许在有限的内存中同时运行多个虚拟机的实例,并且每一个Dalvik 应用作为一个独立的Linux 进程执行。独立的进程可以防止在虚拟机崩溃的时候所有程序都被关闭。而替代Dalvik虚拟机的ART 的机制与Dalvik 不同。在Dalvik下,应用每次运行的时候,字节码都需要通过即时编译器转换为机器码,这会拖慢应用的运行效率,而在ART 环境中,应用在第一次安装的时候,字节码就会预先编译成机器码,使其成为真正的本地应用。
Android系统源码目录
详细源码:https://www.androidos.net.cn/sourcecode
1.应用层部分
packages目录对应着系统应用层
2.应用框架层部分
主要实现代码在/frameworks/base和/frameworks/av目录下
3.Android运行时库的代码放在art/目录中。
4.硬件抽象层的代码在hardware/目录中,这一部分是手机厂商改动最大的一部分,根据手机终端所采用的硬件平台会有不同的实现。
------------END-----------
领取专属 10元无门槛券
私享最新 技术干货