Activity啟動模式之singleTask

2021-07-10 14:06:28 字數 602 閱讀 9293

預設情況下所有activity所在的任務棧的名稱和包名一致。涉及到任務棧的感念就要提到taskaffinity這個引數,如下為注意事項。

命名 一定不能和程式的包名相同,否則和不定義一樣。

名稱一定要有「.」分割,親測不可以直接用乙個單詞命名,會報錯,比如 android:taskaffinity=「single」。但如果是這樣定義android:taskaffinity=「.single」就可以。

要結合singletask或allowtaskreparenting結合使用才起作用。

taskaffinityallowtaskreparenting結合的用法理解起來比較抽象,這裡做個簡單的說明。

singletask的運用場景可以是首頁。首頁作為棧中最底層的乙個activity,每當從不同的頁面跳回首頁都將清除首頁上面所有的activity。其他場景的話可以根據不同的業務需求去定。

同時我這裡推薦一本書《android開發藝術探索》,適合有一定基礎的朋友閱讀,自己讀過一遍,裡面講得很不錯,希望可以和大家一起分享。後續還會陸續分享一些我讀過的不錯的書籍。我的第一篇純技術文章,ok,收工!

activity 啟動模式

在android的中activity 有4種啟動方式 standard singletop singletask singleinstance 下面就分輕重點講講這些啟動方式。1 standard啟動方式 這種方式也是系統預設的。說的簡單點,我們在使用startactivity 方法的時候,系統就會...

activity啟動模式

1 對於使用standard 模式的活動,系統不會在乎這個活動是否已經在返回棧中存在,每次啟動都會建立該活動的乙個新的例項。例如a啟動a,a再接著啟動a,a繼續啟動a,然後再分別出棧,如圖所示 2 當活動的啟動模式指定為 singletop,在啟動活動時如果發現返回棧的棧頂已經是該活動,則認為可以直...

Activity啟動模式

兩種方式可以定義activity啟動模式 manifest intent intent定義的啟動模式優先於manifest 不管activity執行在乙個新的任務還是與啟動它的activity同樣的任務,返回鍵總是把使用者帶到之前的activity。然而,如果啟動乙個singletask的activ...