天天看點

Activity有四種模式:standard(标準啟動模式)、singleTop、singleTask、singleInstance

注: Aty1_1和Aty2_1為兩個不同的Activity,Aty1_1和Aty1_2為同一個Activity中的不同執行個體。

1. standard

    不同的Activity在同一個棧中,

    每次建立新執行個體的時候,新執行個體便會堆放到棧頂。

Activity有四種模式:standard(标準啟動模式)、singleTop、singleTask、singleInstance

      當點傳回鍵的時候,便會從棧頂按順序将執行個體移除棧。直至棧為空則退回到桌面。

2. singleTop

    不同的Activity在同一個棧中。   

    ① 如果此時Aty1的執行個體在棧頂,此時再建立一個新的Aty1并不會成功。

Activity有四種模式:standard(标準啟動模式)、singleTop、singleTask、singleInstance

    ② 如果Aty_1不在棧頂,此時再建立一個Aty1的執行個體,會産生一個新的Aty1執行個體到棧頂。

Activity有四種模式:standard(标準啟動模式)、singleTop、singleTask、singleInstance

    當點傳回鍵的時候,便會從棧頂按順序将執行個體移除棧。直至棧為空則退回到桌面。

3. singleTask

    不同的Activity在同一個棧中。

    ① 如果此時Aty1的執行個體在棧頂,此時再建立一個新的Aty1并不會成功。

Activity有四種模式:standard(标準啟動模式)、singleTop、singleTask、singleInstance

    ② 如果Aty_1不在棧頂,此時再建立一個Aty1的執行個體,頁面會傳回到任務棧中存在的Aty1的執行個體,并将Aty1上面所有的執行個體移出棧。

Activity有四種模式:standard(标準啟動模式)、singleTop、singleTask、singleInstance

    當點傳回鍵的時候,便會從棧頂按順序将執行個體移除棧。直至棧為空則退回到桌面。

4. singleInstance

    不同的Activity 處于不同棧中

    ① 如果此時Aty1的執行個體在棧頂,此時再建立一個新的Aty1并不會成功。

Activity有四種模式:standard(标準啟動模式)、singleTop、singleTask、singleInstance

    ② 如果此時Aty2的執行個體還未被建立,則建立的Aty2的執行個體時會存放到一個新的任務棧中。

Activity有四種模式:standard(标準啟動模式)、singleTop、singleTask、singleInstance

    ③ 如果此時Aty1的執行個體已存在且我們在Aty2的頁面中建立新的Aty1執行個體時,則不會建立新的Aty1執行個體,而是頁面跳轉到原來任務棧中存在的Aty1的執行個體,但存放Aty2執行個體的任務棧仍然存在

Activity有四種模式:standard(标準啟動模式)、singleTop、singleTask、singleInstance

    當點傳回鍵的時候,便會依次銷毀相應的任務棧,直至任務棧數為空則退回到系統桌面。