在安卓操作系统下开发移动智能终端,首先我们应该了解Android的基础架构,为之后开发打好基础。
Android操作系统采用层次化的系统架构,从下往上共由四部分组成,分别是Linux内核层(Linux Kernel)、系统运行时库层(Libraries和Android Runtime)、应用程序框架层(Application Framework)和应用程序层(Applications)。如下图所示:
1. **应用程序层**
Android系统架构的最上层是应用程序层,其上包含各种与用户相关的应用程序。这些应用程序基本都是由Java语言编写的,包括系统桌面、电子邮件客户端、SMS短信、地图、电源管理、电话、联系人等系统应用程序,以及各种第三方应用程序。系统应用程序可以实时更新或被第三方应用程序替换,体现了Android系统的灵活性。
Android应用程序由若干类型的组件构成,这些组件有:活动(Activity)、服务(Service)、内容提供器(Content Provider)和广播接收器(Broadcast receiver)。
2. 应用程序框架层
为满足应用开发者的需求,Android应用程序框架层供了一系列的基本组件(Component),即大量封装好的API。组件主要为应用程序的开发提供常用功能的API接口,如电话管理、通知管理、窗口管理等。开发者利用这些接口完成应用程序开发。不同应用程序可以实现对组件的重复调用,同时通过继承可以实现组件的个性化扩展,用户也可以用自主开发的组件将其替换掉。应用程序框架层具体包括的模块有实现应用程序之间数据共享的内容提供器(Content Provider)、在状态栏中显示用户提示信息的通知管理器(Notification Manager)、为应用程序提供字符串/图片/音频等信息的资源管理器(Resource Manager)、提供位置服务的位置管理器(Location Manager)等。
3. 系统运行时库层
Android系统运行时库层主要由系统类库和一个Dalvik虚拟机构成,位于整个Android系统架构的中间,是应用程序框架层和Linux内核层之间的桥梁,为Android系统的各个组件提服务。
4. Linux内核层
Android在Linux内核的基础上对其进行了增强开发,实现了内存管理、驱动模型、电源管理、网络管理、安全模型和进程管理等机制,同时针对移动智能终端资源有限的特点增加了一些特殊功能,例如,匿名共享内存(Ashmem),进程间Binder通信机制和低内存管理(LMK, Low Memory Killer)等,这些功能增强了Android系统内存与通信等的安全性。为了方便程序员进行开发调试,Android操作系统还设计了一个轻量级的日志系统,使Android在应用开发、安全审计等方面的安全性得到了提升。Linux内核的主要作用就是对内核驱动程序进行封装,将硬件抽象化,屏蔽上层应用与内核层的差异,提供对上层软件的统一接口,减少应用程序的开发对内核层的依赖。