Android 系统架构学习
1).系统运行层库分为两部分,分别是C/C++程序库和Android运行时库。
2).运行时库分为核心库和ART(Android 5.0 系统之后,Dalvik虚拟机被ART取代)。核心库提供了JAVA语言核心库的大多数功能。
Dalvik 和 ART的区别
Dalvik虚拟机是专门为移动设备定制的,允许在有限的内存中同时运行多个虚拟机的实例,并且每一个Dalvik应用作为一个独立的Linux进程执行.独立的进程可以防止在虚拟机崩溃的时候所有程序都关闭。Dalvik中的应用每次运行时,字节码都需要通过即时编译器(Just In Time,JIT)转换为机器码。
ART:系统在安装应用时会进行一次预编译(Ahead Of Time,AOT),将字节码预先编译成机器码并存储在本地,这样应用每次运行时就不需要执行编译了,运行效率也大大提高。
应用框架层部分:
C/C++程序库部分:
学习底层的话需要多去读源码才能更明白。
http://androidxref.com/ 在线源码阅读