安卓四种launchMode的理解

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

今天看到, 安卓四种launchMode的理解_第1张图片

 隐约记得以前应该也是有去看过然后了解过的,但是当我再一次看到这个的时候还是,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           默认模式

 

你可能感兴趣的:(DailyStudy)