现在的位置: 首页 > 综合 > 正文

Adroid Activity启动模式分析

2018年02月16日 ⁄ 综合 ⁄ 共 771字 ⁄ 字号 评论关闭

在Android系统中我们创建的Acitivity是以栈的形式呈现的,每个应用都有独立的任务栈Task.一个栈中可以有多个Activity.

启动另一个应用的Activity,会把那个应用的栈也移到前面,(栈里面可能还有这个应用的其它的Activity)。

下面为四种activity的启动模式:

1.standard:每次调用startActivity()启动时都会创建一个新的Activity放在栈顶。注:默认都是这个模式
2.singleTop:启动Activity时,指定Activity不在栈顶就创建,如在栈顶,则不再创建。注:不会出现两个相同的Activity相邻
3.singleTask:如果启动的Activity不存在就创建Activity,如果存在直接跳转到指定的Activity所在位置。注:在其上面的Activity会被移出栈,也就是一个栈中不能有重复的Activity

4.singleInstance:如果启动的Activity不存在就创建一个Activity同时创建一个栈,如果存在就将指定的Activity存在的栈移动到栈顶。注:表示这个Activity只能存在于一个独立的任务栈中,同应用的其它Activity与其无关。

在manifest文件中注册activity时设置启动模式, 即android:launchMode="";

<activity
            android:name="com.pft168.driver.activity.HomePageActivity"
            android:screenOrientation="portrait"
             android:launchMode="singleInstance" />

当应用中需要多次进行activity之间的跳转时,这只该属性是很有必要的。

抱歉!评论已关闭.