實際專案中我們應該根據特定的需求為每個活動指定恰當的啟動模式。啟動模式一共有 4 種, 分別standard(標準)、singletop、singletask和singleinstance,可以在 androidmanifest.xml 中通過給標籤指定 android : launchmode 屬性來選擇啟動模式。
standard
standard 是活動預設的啟動模式,在不進行顯示指定的情況下,所有的活動都會自動使用這種啟動模式。上一節內容了解 android 是使用返回棧來管理活動的, 在 standard 模式下,每當啟動乙個新的活動,它就會在返回棧中入棧,並處於棧頂的位置。對於使用 standard 模式的活動系統不會在乎這個活動是否已經在返回棧中存在,每次啟動都會建立該活動的乙個新的例項。
singletop
singletop模式下,在啟動活動時如果發現返回棧的棧頂已經是該活動,則認為可以直接使用它,不會再建立新的例項。
singletask
使用 singletop 模式可以很好地解決重複建立棧頂活動的問題,有什麼辦法可以讓某個活動在整個應用程式的上下文中只存在乙個例項呢?這就需要借助 singletask 模式來實現。當活動的啟動模式指定為 singletask,每次啟動該活動時系統首先會在返回棧中檢查是否存在該活動的例項,如果發現已經存在則直接使用該例項,並把這個活動之上的所有活動統統出棧,如未發現就會建立乙個新的活動例項。
singleintance
singleintance 模式應該算是4種啟動模式最特殊也是最複雜的乙個。指定為 singleintence 模式的活動會啟用乙個新的返回棧來管理這個活動。在這種模式下會有乙個單獨的返回棧來管理這個活動,不管是哪個應用程式來訪問這個活動都共用的同乙個返回棧,也就解決了共享活動例項的問題。 android 活動的啟動模式
分四種 standard,singletop singletask singleinstance。可以在androidmanifest.xml中通過給標籤指定android launchmode屬性來選擇啟動模式 standard是活動預設的啟動模式,在不進行顯式指定的情況下,所有活動都會自動使用這...
000 Android 活動的啟動模式
啟動模式有四種 standard singletop singletask和singleinstance,啟動模式可以在androidmanifest.xml中通過給標籤指定android launchmode屬性來設定。四種屬性各有不同 1 standard 活動預設的啟動模式,每當啟動乙個活動時...
Android 活動的四種啟動模式
android系統啟動新的應用的時候,都會為這個應用建立乙個新的返回棧,該應用的活動都會存放在這個返回棧中.活動的啟動模式總共有四種.分別是 standard,singletop,singletask,singleinstance.應該根據實際需要,選擇合適的啟動模式.1.standard 標準或缺...