android系統啟動新的應用的時候, 都會為這個應用建立乙個新的返回棧, 該應用的活動都會存放在這個返回棧中. 活動的啟動模式總共有四種. 分別是 : standard, singletop, singletask, singleinstance. 應該根據實際需要, 選擇合適的啟動模式.
1. standard(標準或缺省模式)
預設情況下活動的啟動模式. 特點 : 啟動新的活動時, 都會新建乙個活動例項, 無論該例項是否存在. 之前的活動會被壓入棧底.
2. singletop(棧頂單例模式)
特點 : 啟動新的活動時, 會檢查返回棧, 如果在棧頂已經存在該活動的例項時, 就會啟動該例項, 而不重新建立例項. 如果該例項不在棧頂的話, 會重新建立該活動的例項.
3. singletask(棧內單例模式)
特點 : 啟動新的活動時, 會檢查返回棧, 如果發現在返回棧中已經存在該活動的例項時, 就會啟動該活動例項. 如果這個活動不是在棧頂的話, 會將在它之前的例項統統踢出棧, 它自己就佔據棧頂.
4. singleinstance(全域性單例模式)
特點 : 採用這種方式啟動的活動, 如果活動例項不存在, 在啟動時會單獨建立乙個task, 並且將這個活動放到這個棧中. 如果已經存在這個活動例項, 就會啟動這個例項.
為活動新增啟動模式, 在androidmanifest.xml中,為activity新增 "android:launchmode" :
android:launchmode="singleinstance">
Android Activity四種啟動模式
當應用執行起來後就會開啟一條執行緒,執行緒中會執行乙個任務棧,當 activity 例項建立後就會放入任務棧中。activity 啟動模式的設定在 androidmanifest.xml 檔案中,通過配置 activity的屬性 android launchmode 設定。1.standared 模...
Android Activity四種啟動模式
任務棧 task 乙個應用程式一般包括多個activity,每個activity都是用來處理使用者互動的乙個任務 stack 棧,是一總特殊的資料結構 後進先出 佇列要是一種特殊的資料結構 先進先出 standard 標準的啟動模式預設應用場景 singletop 單一頂部模式 如果activity...
活動的四種啟動模式
standard 是活動預設的啟動模式,在不進行顯式指定的情況下,所有活動都會自動使用這個啟動模式。對於使用 standard 模式的活動,系統不會在乎活動是否已在返回棧中存在,每次啟動都會建立乙個新的活動例項。當活動的啟動模式指定為 singletop 時,若啟動活動時發現返回棧的棧頂已是該活動,...