Activity啟動模式簡單解釋

來源:互聯網
上載者:User

android中,activity的啟動模式有四種,分別為:
“standard”(預設)
“singleTop”
“singleTask”
“singleInstance”
 
他們分別在AndroidManifest.xml檔案中可配,也可通過intent啟動Activity時添加必要參數來設定
 
例如:
 
1
<activity
2
           android:configChanges="mcc|mnc|locale|touchscreen|keyboard|keyboardHidden|navigation|screenLayout|fontScale|uiMode|orientation"
3
           <span style="color:#e53333;">android:launchMode="singleTask"</span>             android:screenOrientation="portrait"
4
            android:windowSoftInputMode="adjustPan"
5
           android:name=".activity.ShowHowAct" >
下面就一一說明這幾個模式的特徵:
 
standard(預設)
 
 這個是android的Activity的預設模式,如果沒有配置      android:launchMode ,則預設這個模式。該模式下,一個Activity可以同時被添加到多個task中,
 
且一個task可以有多個執行個體,且每次通過intent啟動時,都會產生一個新的執行個體。
 
singleTop www.2cto.com
 
該屬性和standard較類似,不同的地方就是,噹噹前Activity的執行個體在當前task的棧頂時,intent啟動時,則不產生新的執行個體,會重用(不產生新的執行個體)原有的執行個體,如果你顯式指定intent的參數FLAG_ACTIVITY_NEW_TASK。如果提供了FLAG_ACTIVITY_NEW_TASK參數,會啟動到別的task裡。
 
singleTask
 
該模式下,Activity只會有一個執行個體。如果某一個task中已有該Activity的一個執行個體存在,則不再啟動新的,每次都會被重用(重用就是如果該Activity在task的棧底,則會被調到棧頂),且可以和其他的Activity共存於一個task中。
 
singleInstance
 
該模式和singleTask一樣,唯一不同的就是,該模式下,Activity會獨自擁有一個task,不會和其他Activity公用,每次Activity都會被重用,且全域只能有一個執行個體
 
 
摘自 helloclq

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.