Android 操作系统大致可以在4 个主要层面上分为以下5 个部分:
● Linux 内核:
这是Android 所基于的核心。这一层包括了一个Android 设备的各种硬件组件的所有低层设备驱动程序。
● 库:
包括了提供Android 操作系统的主要功能的全部代码。例如,SQLite 库提供了支持应用程序进行数据存储的数据库。WebKit 库为浏览Web 提供了众多功能。
● Android 运行时:
它与库同处一层,提供了一组核心库,Android核心库提供了Java核心库以及Android特定库可用的大部分功能,可以使开发人员使用Java编程语言来写Android 应用程序。
Android 运行时还包括Dalvik 虚拟机,
Dalvik 虚拟机并不是一个传统的Java虚拟机,它是一个基于寄存器的虚拟机,它已经被优化从而确保一个设备可以高效地运行多个实例,它依赖Linux内核进行线程和底层内存管理。
Dalvik虚拟机使用设备的底层Linux内核来处理基本的功能,包括安全、线程以及进程和内存管理。
每个Android 应用程序都在它自己的进程中运行,都拥有一个自己的Dalvik 虚拟机实例(Android应用程序被编译成Dalvik可执行文件,即.dex文件)。Dalvik 是特别为Android 设计,并为内存和CPU 受限的电池供电的移动设备进行过优化的专门的虚拟机。
● 应用程序框架:
提供了用来创建Android应用程序的类,它还对硬件访问提供了一般抽象,并管理用户界面和应用程序资源。
应用程序框架对应用程序开发人员公开了Android 操作系统的各种功能,使他们可以在应用程序中使用这些功能。
● 应用程序:
所有的应用程序,包括原生的和第三方的,都在应用层上使用相同的库进行构建。应用层运行在Android运行时内,并且使用了应用程序框架中可用的类和服务。在这个最顶层中,可以找到Android 设备自带的应用程序(例如电话、联系人、浏览器等),以及可以从Android Market 应用程序商店下载和安装的应用程序。您所写的任何应用程序都处于这一层。
以上参考:《Android 4 高级编程》
Android
运行时环境