Android LaunchMode啟動(dòng)模式

指定Activity的LaunchMode:

<activity
    android:name=".SingleTaskActivity"
    android:label="singleTask launchMode"
    android:launchMode="singleTask">

standard

默認(rèn)模式库菲,在Android 5.0 Lollipop以前,不論在當(dāng)前App或是第三方App中呼出菠齿,指定新創(chuàng)建的Activity將會(huì)添加到調(diào)用者App的Task中佑吝,并疊加在其Stack堆棧頂,通過任務(wù)管理器中可見該Activity界面歸屬于調(diào)用者的App進(jìn)程绳匀。

在Lollipop及之后的版本芋忿,如果調(diào)用者是第三方App,則該Activity會(huì)被添加到一個(gè)新建Task的根部疾棵,通過任務(wù)管理器會(huì)看到該Activity依然歸屬于第三方App(與調(diào)用者App分離)

singleTop

大部分情況下表現(xiàn)與standard相同戈钢。

例外情況是,當(dāng)Task頂已存在相同的Activity實(shí)例時(shí)陋桂,將不再創(chuàng)建新Activity逆趣,而是通過onNewIntent()方法重用棧頂Activity。

需要注意的是嗜历,該模式僅作用于與調(diào)用者處于同一個(gè)Task的情況(即第三方調(diào)用不起效果宣渗,在當(dāng)前App的另一Task中的Activity實(shí)例也不會(huì)得到重用)。

singleTask

standardsingleTop非常不同梨州,使用該模式啟動(dòng)的Activity在整個(gè)系統(tǒng)中僅允許存在一個(gè)單實(shí)例對(duì)象痕囱,存放在適當(dāng)?shù)?/strong>Task中,再次呼出該Activity時(shí)將通過onNewIntent()方法重用實(shí)例暴匠,并將Task置頂鞍恢。

在所屬App中呼出時(shí)

該Activity會(huì)創(chuàng)建在App相同Task的堆棧頂,如果實(shí)例已存在每窖,則堆棧中該實(shí)例之上的所有Activity都將被銷毀帮掉。

如果需要在新Task中創(chuàng)建該Activity,則需要聲明taskAffinity指定Task名稱:

<activity
    android:name=".SingleTaskActivity"
    android:label="singleTask launchMode"
    android:launchMode="singleTask"
    android:taskAffinity="">

在第三方App中呼出時(shí)

該Activity會(huì)創(chuàng)建在新建Task中并置頂窒典,如果該Activity所屬App已啟動(dòng)并存在一個(gè)Task蟆炊,則直接加到該Task中并置頂。

如果已有一個(gè)實(shí)例存在于任意一個(gè)Task中瀑志,則該singleTask實(shí)例之上所有Activity都將被銷毀涩搓,并將該Task置頂。

singleInstance

singleTask非常類似劈猪,系統(tǒng)中僅允許存在一個(gè)單實(shí)例對(duì)象昧甘。

不同的是,持有該Activity的Task不可再存放其他Activity實(shí)例战得,該單實(shí)例Activity獨(dú)占整個(gè)Task堆棧充边。

從該Activity中呼出其他新Activity時(shí),將自動(dòng)創(chuàng)建新Task存放常侦。

需要注意的是痛黎,通過dumpsys activity顯示予弧,即便App中擁有兩個(gè)Task,在任務(wù)管理器中依然只顯示最近打開的那一個(gè)Task湖饱,無(wú)法自由來(lái)回切換到另一個(gè)Task中掖蛤。(此時(shí)從啟動(dòng)器中啟動(dòng)App界面,可以調(diào)出主Task畫面井厌,但取而代之的是singleInstance的Task被放到了后臺(tái)..)

解決方法是通過聲明taskAffinity蚓庭,讓任務(wù)管理器啟用多任務(wù)模式:

<activity
    android:name=".SingleInstanceActivity"
    android:label="singleInstance launchMode"
    android:launchMode="singleInstance"
    android:taskAffinity="">

※ 非必要時(shí),不推薦使用該singleInstance模式

參考原文

Understand Android Activity's launchMode: standard, singleTop, singleTask and singleInstance

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末仅仆,一起剝皮案震驚了整個(gè)濱河市器赞,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌墓拜,老刑警劉巖港柜,帶你破解...
    沈念sama閱讀 211,884評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異咳榜,居然都是意外死亡夏醉,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,347評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門涌韩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)畔柔,“玉大人,你說我怎么就攤上這事臣樱“胁粒” “怎么了?”我有些...
    開封第一講書人閱讀 157,435評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵雇毫,是天一觀的道長(zhǎng)玄捕。 經(jīng)常有香客問我,道長(zhǎng)棚放,這世上最難降的妖魔是什么枚粘? 我笑而不...
    開封第一講書人閱讀 56,509評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮席吴,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘捞蛋。我一直安慰自己孝冒,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,611評(píng)論 6 386
  • 文/花漫 我一把揭開白布拟杉。 她就那樣靜靜地躺著庄涡,像睡著了一般。 火紅的嫁衣襯著肌膚如雪搬设。 梳的紋絲不亂的頭發(fā)上穴店,一...
    開封第一講書人閱讀 49,837評(píng)論 1 290
  • 那天撕捍,我揣著相機(jī)與錄音,去河邊找鬼泣洞。 笑死忧风,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的球凰。 我是一名探鬼主播狮腿,決...
    沈念sama閱讀 38,987評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼呕诉!你這毒婦竟也來(lái)了缘厢?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,730評(píng)論 0 267
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤甩挫,失蹤者是張志新(化名)和其女友劉穎贴硫,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體伊者,經(jīng)...
    沈念sama閱讀 44,194評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡英遭,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,525評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了删壮。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片贪绘。...
    茶點(diǎn)故事閱讀 38,664評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖央碟,靈堂內(nèi)的尸體忽然破棺而出税灌,到底是詐尸還是另有隱情,我是刑警寧澤亿虽,帶...
    沈念sama閱讀 34,334評(píng)論 4 330
  • 正文 年R本政府宣布菱涤,位于F島的核電站,受9級(jí)特大地震影響洛勉,放射性物質(zhì)發(fā)生泄漏粘秆。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,944評(píng)論 3 313
  • 文/蒙蒙 一收毫、第九天 我趴在偏房一處隱蔽的房頂上張望攻走。 院中可真熱鬧,春花似錦此再、人聲如沸昔搂。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,764評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)摘符。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間逛裤,已是汗流浹背瘩绒。 一陣腳步聲響...
    開封第一講書人閱讀 31,997評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留带族,地道東北人锁荔。 一個(gè)月前我還...
    沈念sama閱讀 46,389評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像炉菲,于是被迫代替她去往敵國(guó)和親堕战。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,554評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容