Android系统的5大组成部分(由底到高):
1.Linux内核:提供了一系列的核心系统服务并且是系统硬件和软件叠层之间的抽象层。
2.Android Runtime:由Android核心库和ART(2014年6月25日,ART代替Dalvik虚拟机)组成。
3.函数库:包含一套被不同组件所使用的c/c++库的集合。不用直接调用,而是由应用程序框架来调用。
4.应用程序框架:提供了大量的API(Application Programming Interface,应用程序编程接口)供开发者使用。并且只要开发者遵循框架约定,他所发布的功能模块都能被其他应用程序使用。
5.应用程序层:一些核心程序,如:联系人,浏览器,日历等。。。
为什么ART要代替Dalvik?
Dalvik虚拟机采用JIT(Just In Time)的解释器进行动态编译并执行的,而ART是在安装的App时进行预编译(Ahead Of Time),可以减少动态开销,但是安装和启动的时候会延长,并且会占更多的储存空间。
Dalvik和ART 就好像玩MMORPG的两种模式,Dalvik只能看见眼前的地图,走一步加载一步地图,玩着肯定感觉不舒服,而且还慢。而ART则是能看见整个地图,心情舒畅,玩着流畅。