Android四個啟動模式
standard:
standard是四個啟動模式中的 預設模式,可以不用寫配置。在這個模式下,都會預設建立—個新的例項。因此,在這種模式下,可以有多個相同的例項,也允許多個相同Activity:疊加。
例如:建立一個activity將它命名為a,這個activity上邊有個按鈕會啟動一個新的a,新建立的a會疊加在第一個a上,依次疊加.
singleTop:
singleTop可以有多個例項,但不允許多個相同的activity疊加,也就是說,如果activity在棧的時候,啟動相同的activity.不會建立新的例項,而會呼叫其 on Newlntent方法。
例如:兩個activity命名為:a b,兩個 Activity的功能完全相同,唯一不同的是—個是 standard,一個是 Single Top,如果我想開啟的方式
是a b b但是實際只是a b ,因為 single Top不允許多個相同 Activity疊加
single Task:
single Task只有—個例項在同個應用程式中啟動它的時候,若 Activity不存在,則會在當前task建立—個新的例項,若存在,則會把task中在其之上的其它 Activity destory掉並呼叫它的 lon NewIntent方法,如果是在別的應用程式中啟動它,則會新建一個task,並在該task中啟動這個Activity, single Task允許別的 Activity與其在—個task中共存
例如:若我的應用程式中有三個activity_a1、activity_a2、activity_a3,三個Activity可互相啟動,其中a2為 single Task模式,那麼,無論我在這個程式中如何點選啟動,a2只會存在一個,並且這三個activity都在同一個task裡面
singleInstance:
singleInstance只有個例項,並且這個例項獨立執行在一個task中,這個task只有這個例項,不允許有別的activity存在