Activity載入模式詳細筆記

2021-06-18 16:39:59 字數 1722 閱讀 7902

/**

* activity四種載入模式

* * 1 standard: 標準(預設)模式

* 當通過這種模式來啟動activity時,android總會為目標

* activity建立乙個新的例項,並將該activity新增到當前

* task棧中.注意,這種方式不會啟動新的task,只是將新的

* activity新增到原有的task

*

* 2 singletop: task頂單例模式

* 該模式和standard模式基本一致,但有一點不同:當將要被

* 啟動的activity已經位於task棧頂時,系統不會重新建立

* 目標activity例項,而是直接復用task棧頂的activity

*

* 3 singletask: task內單例模式

* 採用該載入模式時,activity在同乙個task內只有乙個例項.

* 當系統採用singletask模式載入activity時,又分為以下

* 三種情況:

* (1)如果將要啟動的activity不存在,那麼系統將會建立該

* 例項,並將其加入task棧頂

* (2)如果將要啟動的activity已存在,且存在棧頂,那麼此時

* 與singletop模式的行為相同

* (3)如果將要啟動的activity存在但是沒有位於棧頂,那麼

* 此時系統會把位於該activity上面的所有其他activity

* 全部移出task,從而使得該目標activity位於棧頂

*

* 4 singleinstance: 全域性單例模式

* 在此種載入模式下,無論從哪個task中啟動目標activity,只會

* 建立乙個目標activity例項且會用乙個全新的task棧來裝載該

* activity例項.

* 當系統採用singleinstance模式載入activity時,又分為以下

* 兩種情況:

* (1)如果將要啟動的activity不存在,那麼系統將會先建立乙個

* 全新的task,再建立目標activity例項並將該activity例項

* 放入此全新的task中

* (2)如果將要啟動的activity已存在,那麼無論它位於哪個應用

* 程式,哪個task中;系統都會把該activity所在的task轉到

* 前台,從而使該activity顯示出來

*

* * android對於activity的管理方式

*

* android採用task來管理多個activity.

* 然後啟動這個應用的入口activity.

* 但是android並沒有為task提供api,開發者無法真正

* 地訪問task,只能呼叫activity的gettaskid()方法來

* 獲取其所在的task的id.事實上,我們可以把task理解成

* activity棧,task以棧的形式來管理activity:將不斷啟

* 動的activity壓入棧.即:先啟動的activity被放入棧底,

* 後啟動的activity放在task棧頂

* *

Activity啟動模式 載入模式

activity啟動模式 載入模式 activity啟動模式任務堆疊 activity中的任務是與使用者互動的一組 activity 的集合,activity 會被按開啟順序安排在乙個堆疊裡。任務棧 並不是activity是 activity 的引用 記憶體位址 1.standard 標準模式 每次...

activity的載入模式

二 activity載入模式 android launchmode standard singletop sinletask singleinstance 前兩種呢,standard singletop,都是在接收到intent時去新建立乙個物件,不同處 singletop在處於最上層 棧頂 時,就...

Activity的載入模式

standard singletop singletask singleinstance 其中前兩個是一組 後兩個是一組 預設為standard standard 就是intent將傳送給新的例項,所以每次跳轉都會生成新的activity。singletop 也是傳送新的例項,但不同standard...