Task和launchMode

Task

Task 有一個關鍵的屬性affinity 該Task的root Activity 的affinity
每一個Activity也都有一個叫做affinity的屬性 andrid:taskAffinity 默認是包名


launchMode

普通類型

standard

默認的啟動模式,當系統(tǒng)接收到一個Intent實例去啟動一個standard模式的Activity時,系統(tǒng)總是會在目標棧的頂部創(chuàng)建一個新的activity實例,并把Intent的實例傳進去。

singleTop 棧頂復用模式

如果目標棧頂部沒有此activity實例 同standard
如果有,系統(tǒng)就會重用這個Activity的實例而不創(chuàng)建新的實例,并回調該Activity的onNewIntent(Intent intent)方法把新的Intent實例當作方法參數(shù)傳遞進去

新聞類或者閱讀類App的內容頁面

特殊類型 (不可以有多個實例)

singleTask

如果不存在,就創(chuàng)建一個新的Task,在該Task底部創(chuàng)建activity實例
如果存在,就重用該activity,回調onNewIntent(Intent intent)方法,把此Task調到前臺,activity置頂,clearTop

適合作為程序入口點

singleInstance

類似于singleTask,singleInstance的Task中不允許有其他Activity實例

鬧鈴的響鈴界面

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容