android 活动的四种启动模式和使用场景

一、活动的启动模式

        Android是使用返回栈来管理活动的,新建的活动实例会入栈,处于栈顶,点击返回键或finish()活动会销毁并且出栈此时前一个活动就处于栈顶,对用户可见。 活动的启动模式有4种,分别是

standard

singleTop

singleTask

singleInstance

(注意:调用StartActivity(intent)启动另一个活动不会销毁当前的活动,即当前活动不会执行onDestry(),当前活动仍然在返回栈中)

二、使用方法

在manifest.xml文件中设置

<activityandroid:name="ui.PostNewActivity"

android:launchMode="singleTop">

</activity>

三、4中启动模式的对比

 

standard

singleTop

singleTask

singleInstand

适用场景

默认的活动启动模式

频繁启动同一个活动。

保持某个活动的实例,两个活动间频繁切换

多个程序共享一个活动实例

性能

每次启动都会创建一个新的活动实例

在启动新活动时,发现返回栈的栈顶已经是该活动,则认为可以直接使用它,不会创建新的活动实例。

每次启动该活动时,系统都会在返回栈中检查是否存在该活动的实例。如果存在,就直接使用该实例,同时把位于该活动上方的活动通通出栈。如果没有就创建一个新的活动实例。

指定为singleInstance模式的活动会启用一个新的返回栈来管理这个活动,不管是哪个程序来访问这个活动都共享同一个返回栈,解决了多个程序共享一个活动实例的问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值