WEB开发网
开发学院软件开发Java Android 应用程序基础(Application Fundamentals... 阅读

Android 应用程序基础(Application Fundamentals)

 2010-07-12 00:00:00 来源:WEB开发网   
核心提示: "singleTop" "singleTask" "singleInstance"这些不同的方式可以从下面的四点来说:(1) 对一个Intent作出回应时哪个task应该去持有这个Activity,对standard和singleTop

"singleTop"

"singleTask"

"singleInstance"

这些不同的方式可以从下面的四点来说:

(1)       对一个Intent作出回应时哪个task应该去持有这个Activity。

对standard和singleTop方式来说,新的Activity和通过startActivity调用他的Activity处在同一个task中,如果调用时Intent对象里含有FLAG_ACTIVITY_NEW_TASK标志,那么就像前面讲的那样的寻找一个新的task。

相反的,singTask和singleInstance方式,总是标志Activity为task的root Activity,他们不会进入到其他的task中。

(2)       一个Activity是否可以有多个实例。

一个standard或者singleTop属性的Activity可以实例化多次,他们可以属于多个不同的task。

相反的,singleTask或者singleInstance属性的Activity只能有一个实例(单例)。

(3)       实例是否能允许在task里有其他的Activity。

一个singleInstance属性的Activity单独的在他自己的task里,并且这个task里只能有他自己一个Activity,如果他启动了另一个Activity,那个Activity会根据启动模式来启动并装进一个不同的task里。其他的方面,singleInstance和singleTask一样的。

其他三个方式允许有多个Activity在一个task里,一个singleTask属性的Activity总是一个task里的root Activity,但是他可以启动另外的Activity并且将这个新的Activity装进同一个task里,standard和singleTop属性的Activity可以出现在task的任何地方。

(4)       一个类(Activity)的对象是否可以被启动来处理一个新的Intent。

对默认的standard方式,会实例化一个对象来处理每一个新的Intent,每个实例处理一个新的Intent,对singleTop方式,如果一个已经存在的实例是在task的栈顶,那么就重用这个实例来处理这个新的Intent,如果这个实例不在栈顶,那就不复用他,而是重新创建一个实例来处理这个新的Intent并且将这个实例压入堆栈。

上一页  3 4 5 6 7 8 9 10  下一页

Tags:Android 应用程序 基础

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