android 的四种启动方式

activity启动有四种方式:stardard,singleTop,singleTask,singleInsatance;

在清单文件中标注启动方式:

<

android:launchMode="stardard">

stardard 是默认的,新建一个activity,都会在栈中新建;

singleTop:如果实例化一个acticity,在栈顶有这个activity的实例化,则直接调,不然实例化;

singleTask:如果实例化一个acticity,在栈中有这个实例化,直接调用,不然实例化;

singleInstance:在全局变量中,只能允许一个activity实例在栈中,其他都不行。



四种模式的用法:

stardard 是默认,每次启动一个activity 都要,(就算是同一个activity ),都要在栈中开辟内存空间;

singletop 比如qq,出现消息弹出一个activity(如果出现10的消息,因为默认启动模式是singletop 所以一种开辟一次)

singleinstance 比如打开浏览器,一般用于和程序分离界面的

singletask     如果栈中有这个activity 的话,销毁这个activity之前所有activity,把这个activity放在栈顶.一般场景(用于销毁程序):给主activity 设置为singletask,通过其他activity 跳转到主activity ,最后在通过finsh(),销毁这个activity。

简书网站:http://www.jianshu.com/p/7e465622cb80

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值