2 Android的构成和工作机制论文网
一个Android应用程序,是由Activity、IntentReceiver、Service、Content Provider四部分组成,但并不是每一个Android的应用程序都必须由这四个部分组成[1]。在应用程序使用时,首先需要在配置文件AndroidManifest。xml中进行一些配置。该配置文件是每一个Android应用程序必备的,是用来定义应用程序的组件、组件的功能以及必要条件等[3]。Android应用的构成和工作流程如图1:
图1 Android的构成和工作流程
3 Android应用程序结构剖析
3。1 Android的API
Android API主要包含了以下七个部分:
(1) AndroidManifest。xml
AndroidManifest。xml是系统的控制文件,通知系统如何对创建的应用组件(尤其是活动(Activity),服务(Service),意图接收器(Intent Receiver)还有内容提供者(Content Provider))进行处理[1]。
(2) 活动
活动就是个有生命周期的对象。一个活动即完成某些工作的代码块,这部分工作可能还包括对用户UI界面的显示[1]。不过不是必须的,有些活动从来不显示UI界面。
(3) 视图
视图可以将自身绘制到屏幕上。Android的用户界面由一系列的视图树构成。接口是由一组以树的形式出现的视图组成的。开发者要用新建视图的方法来使用自定义的图形处理技术(例如一些游戏)。
(4) 意图
意图就是一个简单的消息对象,表示程序想做某事的“意图”。例如应用程序想要显示一个网页,那么它就可以通过创建一个Intent实例并将其传递给系统来表示意图浏览这个URI。系统定位到能处理这一Intent的代码,并运行。意图也能用于广播系统范围内的一些有效事件(例如通知事件)。
(5) 服务
服务就是运行在后台的一段代码。既可以运行在自己的进程,也可以运行在其他应用程序的进程里。其它的组件也可以绑定到一个服务上,通过远程过程的调用(RPC)来调用这个方法。比如媒体播放器的服务,当用户退出媒体的选择界面时,仍希望音乐可以继续播放,这时就要用服务来确保当用户界面关闭时音乐还能继续播放。
(6) 通知
通知是用图标的形式展示在所属状态栏里,用户可以通过对图标的交互来接收消息。最常见的通知包括短信、通话记录以及语音邮件,并且应用程序也可以创建自己的通知事件。
(7) 内容提供者
内容提供者是提供对设备上的数据进行访问的。比较典型的例子就是用内容提供者来访问联系人列表。应用程序也可以从其它应用程序通过内容提供者提供来的数据,并且也可以定义一个属于自己的内容提供者并向其它应用提供数据访问的服务[2]。
3。2 Android活动的生命周期
Android平台是手机作业的系统。手机的特性即应该能够在未完成目前行为的同时,暂停正在运行的功能,并且切换到电话或短信模式,而且在接完电话并回到应用程序时,仍能得到相同的界面数据。目前大多用户已习惯使用智能手机的多工的作业系统(如windowsMobile)(例如,可以一边听音乐的,一边执行其他程序)。但执行多个程序有明显的好处,也有其他的缺点。每多执行一个应用程序,就会多耗费一些系统内存,而手机里的内存是非常有限的。每当同时执行的程序过多时,或是关闭的程序没有释放掉内存时,系统运行时就会越来越慢,甚至不稳定。为了解决这个问题,Android创造了一个新的机制即生命周期。
通常Android应用程序的生命周期是由Android的框架进行管理的[3]。一个应用程序的起点是onCreate方法,会占据一个进程[2]。当系统内存不足的时候,会依照优先级自动对进行中的进程回收。应用程序何时会被回收,不管是使用者还是开发者都无法预料。