Android Activity啟動模式

2021-09-08 01:18:53 字數 2314 閱讀 2399

activity啟動模式

.概念

.屬性

.分類

.備註

的入口。我們可以把task理解為   棧。

.standard(標準模式)

設定:系統預設的模式,可不設定

特點:每次建立activity,都會新建乙個activity物件,並置頂

示例:從activity a跳轉到activity b,再跳轉到acticitya,則棧為: a -> b -> a

.singletop(棧頂單例模式)

設定:launchmode = "singletop"

特點:檢查棧頂元素是否為當前activity,如果是,則復用;如果不是,則新建activity,置頂

示例:當前棧為: a -> b -> c,當前棧頂為c,如果跳轉到c,則復用c,棧為: a -> b -> c

.singletask (全棧單例模式)

設定:launchmode = "singletask"

特點:檢查全棧元素是否有當前activity,如果有,則使在該activity之上的activity出棧,使其置頂

示例:當前棧為: a -> b -> c -> d,如果跳轉到b,則c、d出棧,棧為: a -> b

.singleinstance(系統單例模式)

設定:launchmode = "singleinstance"

特點:系統範圍檢查是否存在該activity,如果存在,則復用

從上述總結

相同點:目標activity均須置頂

不同點:  standard 每次都新建activity例項

singletop/singletask則先檢查是否存在該activity,存在則復用

singletop由於棧頂操作,不須置頂;singletask須出棧置頂

singletop/singletask都是實現棧內單例

singleinstance則是實現系統單例

singletask/singletop模式,均會呼叫onnewintent()

android activity啟動模式

1.標準模式 standrad 沒啟動乙個activity,都會建立乙個activity例項,放入回退棧的內部 2.單頂模式 singletop 當啟動launchmode是 singletop的時候,系統會先判斷棧頂是不是要啟動的那個activity例項,如果是,則不會建立新的例項,直接讓棧頂直接...

Android Activity啟動模式

在androidmanifest.xml中配置 android name mainactivity android launchmode standard 有以下四種 standard 預設模式,每次通過intent啟動activity時都會建立乙個新的activity例項,並放入任務棧中。sing...

android Activity切換動畫

今天準備比賽的時候 遇到了這個問題。查了些資料總結了下。主要是通過 android theme 標籤來實現 android theme style 那麼就需要自己寫style風格檔案 如下 這裡之所以寫成2style個是為了解耦然後自己寫下anim anim enter anim anim exit...