新聞中心
對Android的啟動(dòng)模式不是很了解,這里記錄下簡單的理解內(nèi)容以便日后查看。
為防城等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及防城網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、防城網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
Androi的四種啟動(dòng)模式分別為:standard,singleTop,singleTask,singleInstance。為Activity指定啟動(dòng)模式有兩種方法,第一種是通過AndroidManifest.xml中為Activity指定添加launchMode
第二種就是通過Intent來設(shè)置標(biāo)志位來指定Activity的啟動(dòng)模式,兩者有區(qū)別,優(yōu)先級(jí)上是第二種高于第一種。
standard是系統(tǒng)默認(rèn)的啟動(dòng)模式,也就是說設(shè)不設(shè)置launchMode都是標(biāo)準(zhǔn)模式,每次啟動(dòng)一個(gè)Activity都會(huì)重新創(chuàng)建一個(gè)新的實(shí)例,如有個(gè)Activity為A跳轉(zhuǎn)本身時(shí),A->A1->A2,都會(huì)產(chǎn)生新的界面,當(dāng)按back鍵時(shí)后退順序?yàn)锳2->A1->A,依次退出。
singleTop與設(shè)置標(biāo)記位FLAG_ACTIVITY_SINGLE_TOP效果相同,當(dāng)該實(shí)例位于棧頂時(shí)就不再創(chuàng)建同時(shí)onNewIntent方法會(huì)被回調(diào),在此方法中可以得到回調(diào)信息,如Activity A跳轉(zhuǎn)本身,點(diǎn)擊多次都不再跳轉(zhuǎn)新的界面,但是當(dāng)A->B->A1時(shí),A不在棧頂產(chǎn)生新的實(shí)例A1,退出時(shí)A1->B->A。
singleTask與設(shè)置標(biāo)記位FLAG_ACTIVITY_NEW_TASK效果相同,與singleTop一樣系統(tǒng)會(huì)回調(diào)其onNewIntent方法,當(dāng)跳轉(zhuǎn)本身時(shí)不會(huì)再產(chǎn)生新實(shí)例,如果已有實(shí)例會(huì)把其調(diào)到棧頂,如果沒有則會(huì)創(chuàng)建并壓入棧中,如A->B->C->A,A為singleTask如果此時(shí)退出則直接退到桌面,因在A實(shí)例已存在把其調(diào)到棧頂時(shí)會(huì)把棧內(nèi)A上面的BC全部出棧,如A->B->C,退出時(shí)C->B->A。
singleInstance比較復(fù)雜其擁有singleTask的特性又加強(qiáng)了一點(diǎn),具有此種模式的Activity只能單獨(dú)的位于一個(gè)棧內(nèi)。當(dāng)跳轉(zhuǎn)本身時(shí)也不會(huì)再產(chǎn)生新的實(shí)例,當(dāng)A->B->C->B,此時(shí)B為singleInstance模式,退出時(shí)為B->C->A,當(dāng)A->B->C,退出為C->A->B,因此時(shí)B在一個(gè)棧內(nèi),A與C在另一個(gè)棧內(nèi),一個(gè)棧內(nèi)退出后再退另一個(gè)棧。
分享題目:Android的四種啟動(dòng)模式
文章出自:http://fisionsoft.com.cn/article/jihhjp.html