android:launchMode="singleTask"--------挺好
設(shè)置了SingleTask這種存在方式,Android中它維持一個Activity堆棧(注意是Activity堆棧悼凑,不是java中說的堆棧)中的Activity都是獨一無二的奄毡,就是說同一個Activity實例不會重復(fù)創(chuàng)建凭峡。
singleTask 我覺得是個怪胎搂漠,A頁面 設(shè)置了singleTask 耀怜,B頁面同時也設(shè)置了singleTask 作瞄,問題來了茶宵,是不是如上所說同一個Activity實例不會重復(fù)創(chuàng)建?粉洼?节预?
其實是這樣的,如果該Activity設(shè)置了這種launchMode属韧,那么該Activity沒有創(chuàng)建一切都好安拟,但是如果已經(jīng)創(chuàng)建,該Activity比較霸道宵喂,會將堆棧來個釜底抽薪糠赦,凡是覆蓋在其上層的Activity都會被銷毀。
A 頁面先設(shè)置的 singleTask B頁面 就算你設(shè)置了singleTask 也和普通的啟動模式一樣锅棕。(這里只是說 A ->B )
當(dāng)B 執(zhí)行Finsh() 時候 A頁面 onRestart-> onStart-> onResume-> onPostResume. B頁面 onStop-> onDestroy
注意順序 先執(zhí)行A頁面的邏輯 在結(jié)束掉B
當(dāng)B 執(zhí)行startActivity()時候 A頁面 onNewIntent-> onRestart-> onStart-> onResume-> onPostResume. B頁面 onStop-> onDestroy
注意順序 先執(zhí)行A頁面的邏輯 在結(jié)束掉B A頁面多了 onNewIntent 這個方法 B頁面還是被kill 了
嗯 是這樣的 拙泽。8