WEB开发网
开发学院手机开发Android 开发 Android Activity设计框架 阅读

Android Activity设计框架

 2010-09-10 00:25:00 来源:WEB开发网   
核心提示:3 Activity设计框架3.1 外特性空间的Activity我们先来看看,Android应用开发人员接触的外特性空间中的Activity,Android Activity设计框架,对于AMS来讲,这个Activity就是客服端的Activity,可以访问到所对应的Activity的方法,在Launch Activi

3 Activity设计框架

3.1 外特性空间的Activity

我们先来看看,Android应用开发人员接触的外特性空间中的Activity,对于AMS来讲,这个Activity就是客服端的Activity。应用程序员在建立Android应用时,构建Activity的子类就是Andoid外特性空间展现的接口。我们可以从下面的简单的例子描述看看 Activity,到底如何建立的。

DemoActivity extend Activity

{

onCreate

onResume

onPause

onStop

}

Android的外特性空间(SDK)中,Android应用程序员根本不知道进程是什么时候起来的,系统消息是如何传递过来的。这个DemoActivity是如何实例化的呢?并且该Activity是托管在哪个进程的呢?本节的分析将给出答案。

我们从ActivityThread中可以看到在应用进程中的Activity都被放置在mActivities中。

image_thumb3

这些ActivityRecord记录了应用进程中,程序员建立的Activity子类的实例,我们称之为外特性空间的Activity。这些 Activity类实例是放在应用程序端进行实际交互的Activity,而为了管理这些Activity,AMS内核中还有一个影子Activity,被称为HistoryRecord。

3.2 Activity与HistoryRecord的关系

在整个系统中,Activity实际上有两个实体。一个在应用进程中跟应用程序员打交道的Activity,一个是在AMS的中具有管理功能的 History Record。应用进程中的Activity都登记ActivityThread实例中的mActivity数组中,而在AM 端,HistroytRecord实例放置在mHistroy栈中。mHistory栈是Android管理Activity的场所,放置在栈顶的就是 User看到的处于活动状态的Activity。

Activity与HistrotyRecord的关系图可以表示如下:

image_thumb6

Activity的内核实体是依靠在ProcessRecord的成员变量中,通过ProcessRecord我们可以访问到所有的属于该Process 的Activity。而在ProcessRecord记录了与应用进程之间的联系:IActivtityThread接口。通过该接口,可以访问到所对应的Activity的方法。在Launch Activity时,AMS将对应的HistoryRecord作为token传递到客服端和客服端的Activity建立联系。在AMS中

1 2  下一页

Tags:Android Activity 设计

编辑录入:coldstar [复制链接] [打 印]
赞助商链接