Android 四個啟動模式:
1、standard:默認(rèn)模式才顿,可以不用寫配置践剂。在這個模式下,都會默認(rèn)創(chuàng)建一個新的實例娜膘。因此逊脯,在這種模式下,可以有多個相同的實例竣贪,也允許多個相同 ? ? Activity疊加军洼。
? ? 例如:一個命名為A1的Activity,上面有一個按鈕會啟動一個新的A1演怎,疊加在第一個A1上匕争,依次疊加;
2爷耀、singleTop:可以有多個實例甘桑,但是不允許多個相同Activity疊加。即,如果Activity在棧頂?shù)臅r候跑杭,啟動相同的Activity铆帽,不會創(chuàng)建新的實例,而會調(diào)用 ? ? ? 其onNewIntent方法德谅。
? ? 例如:兩個Activity命名為:A1,A2爹橱,兩個Activity的功能完全相同,唯一不同的是一個是standard窄做,一個是singleTop愧驱,如果我想打開的方式
是 A1A2A2,但是實際只是A1A2,因為singleTop不允許多個相同Activity疊加椭盏。
3组砚、singleTask:只有一個實例在同一個應(yīng)用程序中啟動他的時候,若Activity不存在掏颊,則會在當(dāng)前task創(chuàng)建一個新的實例糟红,若存在,則會把task中在其之上 ? ? ? ? 的其它Activity destory掉并調(diào)用它的onNewIntent方法蚯舱,如果是在別的應(yīng)用程序中啟動它改化,則會新建一個task,并在該task中啟動這個 ? ? ? ? Activity枉昏,singleTask允許別的Activity與其在一個task中共存陈肛;
? ? ? 例如:若我的應(yīng)用程序中有三個Activity,C1,C2,C3,三個Activity可互相啟動兄裂,其中C2為singleTask模式句旱,那么,無論我在這個程序中如何? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 點擊啟動晰奖,C2只會存在一個谈撒,并且這三個Activity都在同一個task里面;
4匾南、singleInstance:只有一個實例啃匿,并且這個實例獨立運行在一個task中,這個task只有這個實例蛆楞,不允許有別的Activity存在溯乒。