Android可以大致分为四层架构,五块区域
1 Linux内核层
Linux层,Android中最低层的核心部分。Linux层包含了Android系统的核心服务,包括硬件驱动、进程管理、安全系统、Binder驱动、Logcat驱动等。
2 系统运行库层和Dalvik或ART
2.1 系统运行库层
这一层通过一些C/C++库为Android系统提供了主要特性的支持,如SQLite库、Surface Manager、Media Framework、OpenGL/ES库提供了3D绘图的支持、Webkit、SSL、libc等
Dalvik包含了一整套Android运行环境虚拟机,每个App都会分配Dalvik虚拟机来保证互相之间不受干扰,并保持独立。它的特点是在运行时编译,而在Android5.0以后,ART模式已经取代了Dalvik,ART采用的是安装时进行编译,以后运行就不用编译了
3 Android运行时库
它主要提供一些核心库,能够允许开发者使用Java语言来编写Android应用。
4 Framework
主要提供构建应用程序时可能用到的各种API,Android自带的一些核心应用就是使用这些API来完成的。
包括Activity Manager、Window Manager、Content Provides、View System、Notification、Package Manager、Telephony Manager、Resource Manager、Location Manager、XMPP Service
5 应用层
所有安装在手机上的应用程序都属于这一层,比如系统自带的联系人、短信等,或者是你自己开发的程序