Android大致可以分为四层架构,五块区域。
1.Linux内核层 Android系统是基于 Linux2.6内核的,这一层为 Android设备的各种硬件提供了底层的驱动,如显示驱动、音频驱动、照相机驱动、蓝牙驱动、Wi-Fi驱动、电源管理等。
2.系统运行库层 这一层通过一些C/C++库来为 Android系统提供了主要的特性支持。如 SQLite库提供了数据库的支持,OpenGL|ES库提供了3D绘图的支持,Webkit库提供了浏览器内核的支持等。同样在这一层还有Android运行时库,它主要提供了一些核心库,能够允许开发者使用 Java语言来编写 Android应用。另外 Android运行时库中还包含了 Dalvik虚拟机,它使得每一个 Android应用都能运行在独立的进程当中,并且拥有一个自己的 Dalvik虚拟机实例。相较于 Java虚拟机,Dalvik是专门为移动设备定制的,它针对手机内存、 CPU性能有限等情况做了优化处理。
3. 应用框架层 这一层主要提供了构建应用程序时可能用到的各种 API,Android自带的一些核心应用就是使用这些API完成的,开发者也可以通过使用这些API来构建自己的应用程序。
4. 应用层 所有安装在手机上的应用程序都是属于这一层的,比如系统自带的联系人、短信等 程序,或者是你从 GooglePlay上下载的小游戏,当然还包括你自己开发的程序。
参考:
《第一行代码》