雖然是一個(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í)銷毀CD,只剩AB界酒。
singInstance
單實(shí)例模式。它具有singleTask所有特性嘴秸,而且有過(guò)之無(wú)不及毁欣,這種模式的activity只能單獨(dú)位于一個(gè)任務(wù)棧中。