日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Android 四種launchMode

系統(tǒng) 2366 0

1,standard

每次都會新建一個Activity實例

?

2,singleTask

棧空間簡易示意:A -- B -- C

Android 四種launchMode

?最后用startActivity(intent)從C跳到A后,由于棧空間已經(jīng)存在A的實例,A上面的Activity B和C出棧(即onDestroy銷毀),A置于棧頂

如果A中重寫了onNewIntent(...)方法,會同時接到C跳A的intent數(shù)據(jù)

?

3,singTop

棧空間簡易示意:A -- B -- C

Android 四種launchMode

最后用startActivity(intent)從C跳到A后,即使棧控件已經(jīng)存在A的實例,Android系統(tǒng)也會重新創(chuàng)建一個A的實例并且置于棧頂,當然重寫的onNewIntent(...)方法也不會接到intent數(shù)據(jù), 變成:

Android 四種launchMode

?

4,singleInstance(代碼跳轉(zhuǎn)邏輯:A -- B -- C -- A -- B -- C .....)

1,起始Activity非singleInstance (實際跳轉(zhuǎn)順序:A -- B -- C -- A -- B -- C .....)

Android 四種launchMode ?

A,C位于同一棧中,taskId相同, B在另一個棧中,與他們taskId不同,此棧在B未被銷毀前只能有B一個Activity(B在創(chuàng)建之后,onNewIntent(...)也可以接到 其他Activity跳轉(zhuǎn)的intent數(shù)據(jù)),整個過程中,B只創(chuàng)建了一次,A與C每次都創(chuàng)建一個實例

2,起始Activity為singleInstance(實際跳轉(zhuǎn)順序:A -- B -- C -- A -- C -- A -- C .....)

代碼中第一種情況相同,但實際跳轉(zhuǎn)順序卻不同,

第一次A -- B -- C 實際跳轉(zhuǎn)完成之后,當從C回到A(A在創(chuàng)建之后,onNewIntent(...)也可以接到其他Activity跳轉(zhuǎn)的intent數(shù)據(jù))后,再從A跳 B時,卻跳到了C頁面,依次循環(huán),整個過程中,B只是在一開始創(chuàng)建時出現(xiàn)了一次,之后從A都是直接跳C,A當然是單實例的,但是C也只創(chuàng)建了一次,相當于 是單實例

多次跳轉(zhuǎn)按物理返回鍵時:

如果當前頁面是A,則A銷毀,出現(xiàn)C,接著C銷毀,出現(xiàn)B,B銷毀,應(yīng)用程序結(jié)束

如果當前頁面是C,則C銷毀,出現(xiàn)B,接著B銷毀,出現(xiàn)A,A銷毀,應(yīng)用程序結(jié)束

返回鍵的實際跳轉(zhuǎn)情況屬于正常,因為A的taskId, 與B,C不同,不在同一棧中

?

但singleInstance的第2中情況,第一次A--B--C--A跳完之后,為啥從A卻進入了C并且是之前的實例C,并不是想象中的新創(chuàng)建一個Activity B的實例 ?

Android 四種launchMode


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 类乌齐县| 怀化市| 咸宁市| 丰都县| 武平县| 北碚区| 祁连县| 双柏县| 衡南县| 龙门县| 大丰市| 北辰区| 石棉县| 治县。| 江西省| 报价| 青州市| 新巴尔虎右旗| 六安市| 临城县| 肇庆市| 教育| 田东县| 白城市| 中江县| 鸡泽县| 新田县| 普兰县| 武清区| 霍城县| 孝义市| 石狮市| 治多县| 贵定县| 合山市| 金坛市| 齐齐哈尔市| 汨罗市| 无棣县| 桦川县| 丰镇市|