安卓四种launchMode的理解

反正 就是想起啥就看点啥,记点啥

今天看到, 

 隐约记得以前应该也是有去看过然后了解过的,但是当我再一次看到这个的时候还是,emmm,不知道具体啥意思。小计一下,增加印象。

1、安卓中有四种launchMode模式分别是:

(1) standard

(2) singletop

(3) singletask

(4) singleinstance

这里我只说一下自己的理解,一些文字性的描述,因为看了一篇大佬讲这个的文章,实在是,好!

链接  : https://blog.csdn.net/liuhe688/article/details/6754323

(1) standard   标准的launchMode模式,不写的时候默认的是standard模式

如果从activity A 跳转到 A,每一次不管activity是否已经存在一个实例对象,在跳转之后都会自动新建一个实例对象。这个时候如果你点返回,跳一次,需要点一次返回,跳多少次,就有多少个实例对象,就需要返回多少次才能到第一个实习对象。

(2) singleTop

如果从activity A 跳转到 A,系统会去判断,如果这个A在栈顶,就不去新建一个实例对象,如果不在栈顶,就新建,那么这只有一个acticity,一直在栈顶的位置,所以肯定就 不会新建了,所以点一次返回就会回到home界面。

如果从A跳到B,又从B跳到A,B到A的这个过程中系统发现这个A不在栈顶,所以就去新建了一个A对象在栈顶,此时点击返回,需要点击3次到HOME,第一次到B,第二次到第一个A,第三次回到HOME。

(3)singleTask

如果从A到B,然后B又到A,这个时候,B的实例对象被出栈了,因为当从B跳转到A的时候系统发现有A的实例对象,于是将A之上的实例都出栈。只需要点一次返回键就到HOME

(4)singleInstance

这个其实我也看的二懂二懂得。大概就是:

假如从A(standared)到B(singleInstance),会新建一个栈来存放B,然后点击返回,先回到A栈,并且在A栈里面又新建一个A实例,然后点击返回,回到初始的A实例,再点击返回,回到,B栈,那位大佬,称这个为“回归”,然后再次点击返回的时候就可以回到HOME了。

 

总结就是:

              singleInstance   只有一个实例
             singleTask         栈内复用模式(onNewIntent)
            singleTop          栈顶复用模式(onNewIntent())
           standard           默认模式

 

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值