Adroid Activity启动模式分析

在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之间的跳转时,这只该属性是很有必要的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值