3.1.2 应用框架层
我们平时构建一个应用程序时会用到多种多样的API,它就属于应用框架层,API在安卓系统中许多的核心应用程序中起到非常重要的作用,开发者在构建自己的应用程序时有时也会使用到API,开发人员同样可以使用这些框架来开发自己的应用,这样便简化了程序开发的架构设计,但是必须遵守其框架的开发原则,组件如下:
(1)丰富而又可扩展的视图(Views):可以用来构建应用程序,它包括列表(lists)、网格(grids)、文本框(text boxes)、按钮(buttons),甚至包括可嵌入的Web浏览器。
(2)内容提供器(Content Providers):它可以让一个应用访问另一个应用的数据(如联系人数据库),或共享它们自己的数据。
(3)资源管理器(Resource Manager):提供非代码资源的访问,如本地字符串、图形、和布局文件(layout files)。
(4)通知管理器(Notification Manager):应用可以在状态栏中显示自定义的提示信息。
(5)活动管理器(Activity Manager):用来管理应用程序生命周期并提供常用的导航退回功能。
(6)窗口管理器(Window Manager):管理所有的窗口程序。
(7)包管理器(Package Manager):Android系统内的程序管理
在Android SDK中内置了一些对象,其中最重要的组件要属Activities、Intents、Services以及Content Providers四个组件。
3.1.3 系统运行库层
系统运行库层拥有C/C++库,Android系统需要通过C/C++库来获取所需的特性支持。比如SQLite库、OpenGL|ES库和Webkit库,它们分别为数据库、3D绘图和浏览器内核提供了特性支持。
同时,Android运行时库也在这里,它主要是为我们供应一些核心库,开发车在核心库的支持下才能够使用Java语言进行安卓应用程的开发。每一个Android应用程序在能够独立的运行在进程中都是依靠存在于Android运行库中的Dalvik虚拟机, 这样每个应用程序都会有一个Dalvik的虚拟机作为研究是例子。跟Java的虚拟机不同,Dalvik的虚拟机是专用的虚拟机,在手机内存不足,CPU性能欠佳的时候Dalvik虚拟机优化的更好[1]。
3.1.4 Linux内核层
Android系统是基于Linux内核的,Android设备上的显示驱动、蓝牙驱动等硬件的驱动是有Linux内核提供的。