activity啟動流程面試 android中的activity的啟動方式有哪幾種?
android中的activity的啟動方式有哪幾種?有四種活動啟動模式:standard、singletop、singletask和singleinstance。1. 標(biāo)準(zhǔn)默認(rèn)模式,無需寫配置。在這
android中的activity的啟動方式有哪幾種?
有四種活動啟動模式:standard、singletop、singletask和singleinstance。
1. 標(biāo)準(zhǔn)默認(rèn)模式,無需寫配置。在這種模式下,默認(rèn)情況下會創(chuàng)建一個(gè)新實(shí)例。因此,在此模式中,可以存在多個(gè)相同的實(shí)例,并且可以疊加多個(gè)相同的活動。
2. Singletop可以有多個(gè)實(shí)例,但不允許堆疊多個(gè)相同的活動。也就是說,如果某個(gè)活動在堆棧頂部啟動同一個(gè)活動,它將不會創(chuàng)建新實(shí)例,而是調(diào)用其onnewintent方法。
3. Singletask只有一個(gè)實(shí)例。在同一個(gè)應(yīng)用程序中啟動它時(shí),如果活動不存在,則將在當(dāng)前任務(wù)中創(chuàng)建一個(gè)新實(shí)例。如果存在,則會刪除任務(wù)上方的其他活動destory,并調(diào)用其onnewintent方法。
4. Singleinstance只有一個(gè)實(shí)例,這個(gè)實(shí)例在一個(gè)任務(wù)中獨(dú)立運(yùn)行。此任務(wù)只有此實(shí)例,不允許其他活動。
怎么進(jìn)入activity就調(diào)用方法?
當(dāng)onpause()接口被阻止時(shí),將調(diào)用相應(yīng)的onresume()。重新顯示界面時(shí),將調(diào)用相應(yīng)的onstop()。當(dāng)接口被阻塞時(shí),將調(diào)用相應(yīng)的onstart()。當(dāng)界面重新顯示時(shí),您可以使用上述方法來滿足您的需要。雖然也有一個(gè)方法onsaveinstancestate(bundle),但這個(gè)方法有一個(gè)參數(shù)bundle,相當(dāng)于HashMap。當(dāng)您的活動退出時(shí),將調(diào)用此方法,您可以在其中保存狀態(tài)。下一次oncreate(bundle)時(shí),如果您的活動由于被系統(tǒng)殺死而退出,oncreate的bundle參數(shù)將是您的onsaveinstance,如果oncreate(bundle)參數(shù)正常退出而不是上次被系統(tǒng)殺死,則為null