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。

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
- 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開發(fā)之ProgressDialog進(jìn)度對(duì)話框用法示例
這篇文章主要介紹了Android開發(fā)之ProgressDialog進(jìn)度對(duì)話框用法,簡單介紹了ProgressDialog進(jìn)度對(duì)話框常見函數(shù)功能,并結(jié)合實(shí)例形式分析了ProgressDialog組件創(chuàng)建及使用進(jìn)度對(duì)話框相關(guān)操作技巧,需要的朋友可以參考下2019-03-03
Android編程之ListPreference用法實(shí)例分析
這篇文章主要介紹了Android編程之ListPreference用法,結(jié)合實(shí)例形式較為詳細(xì)的分析說明了ListPreference的功能、用法及相關(guān)注意事項(xiàng),需要的朋友可以參考下2015-12-12
Android使用libgdx實(shí)現(xiàn)模擬方向鍵控制角色移動(dòng)的方法
這篇文章主要介紹了Android使用libgdx實(shí)現(xiàn)模擬方向鍵控制角色移動(dòng)的方法,實(shí)例分析了Android中使用libgdx框架實(shí)現(xiàn)響應(yīng)方向鍵的技巧,適用于Android游戲開發(fā)領(lǐng)域,需要的朋友可以參考下2015-12-12
Android 中RecyclerView頂部刷新實(shí)現(xiàn)詳解
這篇文章主要介紹了Android 中RecyclerView頂部刷新實(shí)現(xiàn)詳解的相關(guān)資料,希望通過本文能幫助到大家,需要的朋友可以參考下2017-10-10
一個(gè)吸頂Item的簡單實(shí)現(xiàn)方法分享
這篇文章主要給大家介紹了一個(gè)吸頂Item的簡單實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)各位Android開發(fā)者們具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09
Android?DialogFragment使用之底部彈窗封裝示例
這篇文章主要為大家介紹了Android?DialogFragment使用之底部彈窗封裝示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09
Android實(shí)現(xiàn)快遞單號(hào)查詢快遞狀態(tài)信息
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)快遞單號(hào)查詢快遞狀態(tài)信息,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-05-05

