1. 程式人生 > >安卓四種launchMode的理解

安卓四種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了。