Activity 四種啟動(dòng)模式詳細(xì)介紹
Activity 四種啟動(dòng)模式詳細(xì)介紹
在Android中每個(gè)界面都是一個(gè)Activity,切換界面操作其實(shí)是多個(gè)不同Activity之間的實(shí)例化操作。在Android中Activity的啟動(dòng)模式?jīng)Q定了Activity的啟動(dòng)運(yùn)行方式。
Android總Activity的啟動(dòng)模式分為四種:
Activity啟動(dòng)模式設(shè)置: <activity android:name=".MainActivity" android:launchMode="standard" /> <activity android:name=".MainActivity" android:launchMode="singleTop" /> <activity android:name=".MainActivity" android:launchMode="singleTask" /> <activity android:name=".MainActivity" android:launchMode="singleInstance" />
Activity的四種啟動(dòng)模式:
. standard
模式啟動(dòng)模式,每次激活A(yù)ctivity時(shí)都會(huì)創(chuàng)建Activity,并放入任務(wù)棧中。
. singleTop
如果在任務(wù)的棧頂正好存在該Activity的實(shí)例, 就重用該實(shí)例,否者就會(huì)創(chuàng)建新的實(shí)例并放入棧頂(即使棧中已經(jīng)存在該Activity實(shí)例,只要不在棧頂,都會(huì)創(chuàng)建實(shí)例)。
. singleTask
如果在棧中已經(jīng)有該Activity的實(shí)例,就重用該實(shí)例(會(huì)調(diào)用實(shí)例的onNewIntent())。重用時(shí),會(huì)讓該實(shí)例回到棧頂,因此在它上面的實(shí)例將會(huì)被移除棧。如果棧中不存在該實(shí)例,將會(huì)創(chuàng)建新的實(shí)例放入棧中。
. singleInstance
在一個(gè)新棧中創(chuàng)建該Activity實(shí)例,并讓多個(gè)應(yīng)用共享改棧中的該Activity實(shí)例。一旦改模式的Activity的實(shí)例存在于某個(gè)棧中,任何應(yīng)用再激活改Activity時(shí)都會(huì)重用該棧中的實(shí)例,其效果相當(dāng)于多個(gè)應(yīng)用程序共享一個(gè)應(yīng)用,不管誰激活該Activity都會(huì)進(jìn)入同一個(gè)應(yīng)用中。
注:當(dāng)為第四種啟動(dòng)方式時(shí),點(diǎn)擊返回鍵時(shí)activity的釋放順序回有所不同,如:FirstActivity設(shè)置為singleInstance,啟動(dòng)Activity的順序?yàn)镸ain->First->Main->first->main,會(huì)有如下兩個(gè)activity棧:
當(dāng)點(diǎn)擊返回鍵時(shí),Activity的釋放順序如下:先時(shí)釋放掉Task1中的三個(gè)MainActivity,然后再釋放Task2中的FirstActivity。
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
- Android Activity的4種啟動(dòng)模式圖文介紹
- 通過實(shí)例解析android Activity啟動(dòng)過程
- Android中點(diǎn)擊按鈕啟動(dòng)另一個(gè)Activity及Activity之間傳值問題
- Android中Activity的四種啟動(dòng)模式和onNewIntent()
- 詳解VirtualApk啟動(dòng)插件Activity
- Android Activity的啟動(dòng)過程源碼解析
- Activity生命周期與啟動(dòng)模式圖文解說
- 分析Android Activity的啟動(dòng)過程
- Android 中啟動(dòng)自己另一個(gè)程序的activity如何實(shí)現(xiàn)
- Android 啟動(dòng)另一個(gè)App/apk中的Activity實(shí)現(xiàn)代碼
- Activity實(shí)例詳解之啟動(dòng)activity并返回結(jié)果
- 淺析Activity啟動(dòng)模式
相關(guān)文章
解決Android TabLayout 在寬屏幕上tab不能平均分配的問題
這篇文章主要介紹了解決Android TabLayout 在寬屏幕上tab不能平均分配的問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-08-08Android項(xiàng)目遷移到AndroidX的方法步驟
這篇文章主要介紹了Android項(xiàng)目遷移到AndroidX的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12Android實(shí)現(xiàn)手機(jī)游戲隱藏虛擬按鍵
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)手機(jī)游戲隱藏虛擬按鍵,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-08-08Android登錄注冊功能 數(shù)據(jù)庫SQLite驗(yàn)證
這篇文章主要為大家詳細(xì)介紹了Android登錄注冊功能,數(shù)據(jù)庫SQLite驗(yàn)證,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-10-10react native打包apk文件安裝好之后進(jìn)入應(yīng)用閃退的解決方案
這篇文章主要介紹了react native打包apk文件安裝好之后進(jìn)入應(yīng)用閃退的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09Android自定義View實(shí)現(xiàn)折線圖效果
這篇文章介紹的是一個(gè)折線圖控件,用來顯示一系列的狀態(tài),并可以進(jìn)行滑動(dòng)。有需要的可以參考借鑒。2016-08-08Android Studio報(bào)錯(cuò)Manifest merger failed with multiple errors
這篇文章主要介紹了Android Studio報(bào)錯(cuò)Manifest merger failed with multiple errors2017-10-10