活動(activity)的四種啓動模式

1.    standard模式android

       它是活動默認的啓動模式,在不進行顯示制定的狀況下,全部活動都會自動使用這種啓動模式。每次經過此模式來啓動activity時,android總會爲目標activity啓動一個新的實例。spa

2.    singleTop模式ip

       它和standard模式有點相似,可是又一點是不一樣的:此模式下當將要被啓動的activity已經位於Task棧頂時,系統不會從新建立目標activity實例,而是複用已有的activity實例。it

       若是將要被啓動的activity沒有位於Task棧頂時,此時系統會從新建立目標activity的實例,並將它加載到Task棧頂上。    
程序

3.    singleTask模式activity

       使用這種加載模式的activity在同一個Task內只有一個實例,當系統採用此singleTask模式啓動activity時,能夠分爲三種狀況:
vi

       <1>    若是將要啓動的activity不存在,系統將會建立目標activity實例,並將它加入到Task棧頂。ps

       <2>    若是將要啓動的activity已經位於Task棧頂,此時與singleTop模式的行爲相同。實例

       <3>    若是將要啓動的activity已經存在,但沒有位於Task棧頂,系統將會把位於該activity上面的全部activity移出Task棧,從而使得目標activity轉入棧頂。系統

4.    singleInstance模式

       此加載模式下,不管從哪一個Task中啓動目標activity,只會建立一個目標activity實例,並會使用一個全新的Task棧來裝載該activity實例。當系統採用singleInstance模式啓動activity時,能夠分爲兩種狀況:

       <1>    若是將要啓動的activity不存在,系統會先建立一個全新的Task、再建立目標activity的實例,並將它加入新的Task的棧頂。

       <2>    若是將要啓動的activity已經存在,不管它位於哪一個應用程序中,不管它位於哪一個Task中,系統將會把該activity所在的Task轉到前臺,從而使用該activity顯示出來。

       tips:須要指出的是,採用singleInstance模式加載activity老是位於Task棧頂,採用singleInstance模式加載activity所在Task只包含該activity。

相關文章
相關標籤/搜索