Android啟動模式

2021-10-07 05:13:19 字數 1124 閱讀 1707

android使用棧來管理activity。

android的 啟動模式共4種分別為standard、singletop、singletask、singleinstance。

假如firstactivity在棧頂,此時如果繼續構建firstactivity,還會繼續構建firstactivity

如果firstactivity如果在棧頂,則不會繼續構建firstactivity,如果此時secondactivity在棧頂,如果繼續構建firstactivity,則會繼續構建firstactivity

如果此時firstactivity已經存在棧中,那麼繼續構建firstactivity的話,無法構建,會將棧頂出棧,直到firstactivity處於棧頂中。如果firstactivity不在棧中,則構建firstactivity。始終保持棧中只有1個firstactivity

此時把secondactivity設定成singleinstance模式,那麼secondactivity會啟用乙個新的返回棧來管理secondactivity。可以實現程式之間的共享呼叫這個activity。無論哪個應用程式來訪問這個activity,都共用同乙個返回棧。這是因為每乙個應用程式都有自己的返回棧,同乙個activity在不同的返回棧中入棧必然建立新的例項

此時firstactivity構建secondactivity時候,會建立乙個新的返回棧b來管理secondactivity,secondactivity構建thirdactivity時候,thirdactivity會處於原先的返回棧a中,若thirdactivity退出,則顯示firstactivity,firstactivity退出,則返回棧a空了,顯示另乙個返回棧b,此時顯示secondactivity。

android 啟動模式

啟動模式是通過在androidmanifest.xml中activity標籤中的launchmode設定的 android launchmode指示應該如何載入乙個activity.總共有四種啟動模式,他們一般配合activity啟動標記 flag activity 常量 一起使用來決定當載入乙個a...

android啟動模式實踐

現在有乙個需求。從a跳到b,然後b跳到c,c再跳到a,看似很簡單的就可以實現,但是當簡單的跳轉後,發現棧中的activity順序從下到上一次是abca,當我最後跳到a時,返回鍵時,首先出來的是c,依次是b,然後還是a,實際中,這樣是不符合邏輯的,這裡我們就用到了activity的啟動模式。我們將a的...

Android 啟動模式(launchMode)

通過 adb shell dumpsys activity 對於4種launchmode進行分析 standerd 標準啟動模式,在每次啟動activity時都會建立乙個新的activity。歸屬棧 activity會被壓入啟動它的activity所在棧。singletop 如果activity在棧...