標籤:
1. standard模式
它是活動預設的啟動模式,在不進行顯示制定的情況下,所有活動都會自動使用這種啟動模式。每次通過此模式來啟動activity時,android總會為目標activity啟動一個新的執行個體。
2. singleTop模式
它和standard模式有點類似,但是又一點是不同的:此模式下當將要被啟動的activity已經位於Task棧頂時,系統不會重新建立目標activity執行個體,而是複用已有的activity執行個體。
如果將要被啟動的activity沒有位於Task棧頂時,此時系統會重新建立目標activity的執行個體,並將它載入到Task棧頂上。
3. singleTask模式
使用這種載入模式的activity在同一個Task內只有一個執行個體,當系統採用此singleTask模式啟動activity時,可以分為三種情況:
<1> 如果將要啟動的activity不存在,系統將會建立目標activity執行個體,並將它加入到Task棧頂。
<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。
活動(activity)的四種啟動模式