標籤:star android lan android啟動 分享 任務棧 targe task 預設
Android啟動模式也就是Activity任務棧的運行模式:任務棧是用來儲存Activity的
在AndroidManifest.xml中的標籤的android:launchMode屬性設定Activiy的啟動模式,預設的啟動模式是standard;
Activity有四種啟動模式:分別為standard、singleTop、singleTask、singleInstance;
任務棧:
每個應用都有一個任務棧,是用來存放Activity的,功能類似於函數調用的棧,先後順序代表了Activity的出現順序;比如Activity1-->Activity2-->Activity3,則 任務棧為:
接下來說一下他的啟動模式:
一、Standard
(1)standard:每次啟用Activity時(startActivity),都建立Activity執行個體,並放入任務棧;
(2)singleTop:如果某個Activity自己啟用自己,即任務棧棧頂就是該Activity,則不需要建立,其餘情況都要建立Activity執行個體;
(3)singleTask:如果要啟用的那個Activity在任務棧中存在該執行個體,則不需要建立,只需要把此Activity放入棧頂,並把該Activity以上的Activity執行個體都pop;
(4)singleInstance:如果應用1的任務棧中建立了MainActivity執行個體,如果應用2也要啟用MainActivity,則不需要建立,兩應用共用該Activity執行個體;
SingTask的應用:
可以用來退出整個應用。
將主Activity設為SingTask模式,然後在要退出的Activity中轉到主Activity,然後重寫主Activity的onNewIntent函數,並在函數中加上一句finish。
Android Activity 啟動模式