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