詳解Android中Activity的啟動模式及應(yīng)用場景
今天給大家介紹下安卓開發(fā)中不得不涉及的Activity啟動模式及應(yīng)用場景。
Activity一共有四種啟動模式,分別是Standard模式、SingleTop模式、SingleTask模式以及SingleInstance模式,默認(rèn)不主動設(shè)置的情況下是Standard模式。
- Standard模式: 只要創(chuàng)建了Activity的實(shí)例,一旦啟動后就會向任務(wù)棧中添加該實(shí)例,退出Activity后會任務(wù)棧中銷毀該實(shí)例,即調(diào)用finish() 方法。
例如當(dāng)前依次啟動了ActvivtyA——>ActvivtyB——>ActvivtyC,ActvivtyC為Standard模式。此時(shí)再次啟動ActvivtyC,任務(wù)棧中會一直將該實(shí)例加入當(dāng)前任務(wù)棧中:

使用場景: 默認(rèn)啟動模式,如果沒有特殊功能的頁面都可使用該模式。
- SingleTop模式: 該模式和Standard模式幾乎一致,只要有新的實(shí)例就向任務(wù)棧中添加實(shí)例,唯一的區(qū)別是僅當(dāng)當(dāng)前任務(wù)棧棧頂?shù)膶?shí)例和當(dāng)前啟動的目標(biāo)實(shí)例是同一個(gè)Activty的時(shí)候采取復(fù)用模式,不再創(chuàng)建新的實(shí)例。
例如當(dāng)前依次啟動了ActvivtyA——>ActvivtyB——>ActvivtyC,ActvivtyC為SingleTop模式。此時(shí)再次啟動ActvivtyC,任務(wù)棧不會再去添加一個(gè)ActvivtyC實(shí)例,會復(fù)用當(dāng)前棧頂?shù)腁ctvivtyC。

使用場景: 默認(rèn)啟動模式,如果沒有特殊功能的頁面都可使用該模式。
- SingleTop模式: 該模式和Standard模式幾乎一致,只要有新的實(shí)例就向任務(wù)棧中添加實(shí)例,唯一的區(qū)別是僅當(dāng)當(dāng)前任務(wù)棧棧頂?shù)膶?shí)例和當(dāng)前啟動的目標(biāo)實(shí)例是同一個(gè)Activty的時(shí)候采取復(fù)用模式,不再創(chuàng)建新的實(shí)例。
例如當(dāng)前依次啟動了ActvivtyA——>ActvivtyB——>ActvivtyC,ActvivtyC為SingleTop模式。此時(shí)再次啟動ActvivtyC,任務(wù)棧不會再去添加一個(gè)ActvivtyC實(shí)例,會復(fù)用當(dāng)前棧頂?shù)腁ctvivtyC。

使用場景: 一些常駐的頁面,例如APP首頁之類的頁面。
- SingleInstance模式: 由名字可知,它是一個(gè)單例模式。和SingleTask模式有點(diǎn)類似,區(qū)別在于SingleTask模式僅僅是在當(dāng)前棧中單例,而SingleInstance模式是整個(gè)App中單例,啟動這類模式的Activity時(shí),會創(chuàng)建一個(gè)單獨(dú)的任務(wù)棧。
例如當(dāng)前依次啟動了ActvivtyA——>ActvivtyB——>ActvivtyC——>ActvivtyD,ActvivtyD為SingleInstance模式,那么它是單獨(dú)在一個(gè)任務(wù)棧中的。

使用場景: 其實(shí)這類模式在常用的應(yīng)用中使用較少,一般打電話的場景會用到。
總結(jié): 不同功能的頁面需要匹配到不同的啟動模式,一些特殊的需求可能會有不同的跳轉(zhuǎn),這時(shí)配合這四種模式能夠得到有效解決。特別需要注意在使用SingleTop 、SingleTask模式的時(shí)候由于是復(fù)用模式需要在該Activity重寫onNewIntent方法去重新獲取新數(shù)據(jù)。
好了,以上便是Activity的啟動模式及應(yīng)用場景的全部內(nèi)容,希望對大家有所幫助!
到此這篇關(guān)于詳解Android中Activity的啟動模式及應(yīng)用場景的文章就介紹到這了,更多相關(guān)Android Activity啟動內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Android調(diào)用系統(tǒng)圖庫獲取圖片的方法
這篇文章主要為大家詳細(xì)介紹了Android調(diào)用系統(tǒng)圖庫獲取圖片,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-08-08
13問13答全面學(xué)習(xí)Android View繪制
這篇文章主要為大家詳細(xì)介紹了Android View繪制,13問13答幫助大家全面學(xué)習(xí)Android View繪制,感興趣的小伙伴們可以參考一下2016-03-03
Android自定義listview布局實(shí)現(xiàn)上拉加載下拉刷新功能
這篇文章主要介紹了Android自定義listview布局實(shí)現(xiàn)上拉加載下拉刷新功能,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-12-12
Android自定義FloatingText仿點(diǎn)贊+1特效
這篇文章主要為大家詳細(xì)介紹了Android自定義FloatingText仿點(diǎn)贊+1特效,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-03-03

