Android啟動(dòng)模式

雖然是一個(gè)很基礎(chǔ)的知識(shí)點(diǎn)但還是想記錄一下,以盡可能簡(jiǎn)單的語(yǔ)言。
android啟動(dòng)模式launchMode有四種:

standard

標(biāo)準(zhǔn)模式,也是系統(tǒng)默認(rèn)模式。每次啟動(dòng)activity都會(huì)創(chuàng)建一個(gè)新的實(shí)例,無(wú)論這個(gè)實(shí)例是否存在。

singleTop

棧頂復(fù)用模式。當(dāng)即將要啟動(dòng)的activity已經(jīng)位于任務(wù)棧頂,則此activity不會(huì)重新創(chuàng)建,它的onCreat(),onStart()方法也不會(huì)被調(diào)用,這時(shí)候會(huì)回調(diào)的方法是onNewIntent(),我們可以在這個(gè)方法中做一些初始化的操作。如果我們要啟動(dòng)的activity沒(méi)有在任務(wù)棧頂,那么系統(tǒng)會(huì)為我們建一個(gè)新的實(shí)例,這時(shí)候就和standard模式創(chuàng)建activity一樣了。

singleTask

單實(shí)例模式,也叫棧內(nèi)復(fù)用模式。此模式下,某activity在整個(gè)任務(wù)棧中只能存在一個(gè)實(shí)例,即使多次啟動(dòng),也不會(huì)重復(fù)創(chuàng)建實(shí)例,而是onNewIntent()方法被調(diào)用。此模式有一個(gè)clearTop的效果,比如當(dāng)前棧中實(shí)例的順序是ABCD,如果B是singleTask模式,這時(shí)候啟動(dòng)B,則系統(tǒng)會(huì)把B移動(dòng)到棧頂顯示,同時(shí)銷(xiāo)毀CD,只剩AB。

singInstance

單實(shí)例模式。它具有singleTask所有特性,而且有過(guò)之無(wú)不及,這種模式的activity只能單獨(dú)位于一個(gè)任務(wù)棧中。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容