singleTask運(yùn)行邏輯1.activity1(singleTop)–>intent–>activity2(singleTask),這個(gè)時(shí)候activity2位于棧頂,activity1處理stop狀態(tài),并沒有銷毀,因?yàn)闂V衋ctivity1不在activity2的上層,不會銷毀。當(dāng)直接finish掉activity2,activity1會執(zhí)行onResume,不會重新創(chuàng)建。當(dāng)通過調(diào)用intent回到activity1時(shí),因?yàn)閍ctivity1是singleTop模式,并且不是在棧頂。這個(gè)時(shí)候activity1會重新創(chuàng)建,執(zhí)行onCreate。 2.當(dāng)啟動main activity1是singleTask模式時(shí),通過activity1調(diào)用intent跳轉(zhuǎn)到activity2,顯示activity2界面,這個(gè)時(shí)候按下home鍵回到桌面,再進(jìn)入應(yīng)用時(shí),發(fā)現(xiàn)并沒有顯示activity2,而是顯示activity1。意思就是沒有保存回到桌面時(shí)的界面狀態(tài),activity2被銷毀了,此時(shí)activity1執(zhí)行了onNewIntent。結(jié)論是:當(dāng)啟動main activity1是singleTask模式時(shí),不管此時(shí)顯示哪一個(gè)activity,按下home鍵,重新進(jìn)入應(yīng)用,都會執(zhí)行activity1的onNewIntent方法,之前顯示的activity將會銷毀。 3.當(dāng)啟動main activity1是singleTop模式時(shí),在顯示activity1時(shí)按下home鍵回到桌面,再進(jìn)入應(yīng)用時(shí),此時(shí)activity1執(zhí)行了onNewIntent。跳轉(zhuǎn)到activity2(singTask)界面,按下home鍵,再回到應(yīng)用,會執(zhí)行activity2的onResume,顯示正常。結(jié)論是:當(dāng)啟動main activity1是singleTop模式時(shí),不管此時(shí)顯示哪一個(gè)activity,按下home鍵,重新進(jìn)入應(yīng)用,之前顯示的activity將會執(zhí)行onResume,顯示正常。 |
|