Android開發9 Activity的啟動模式

2021-09-08 16:52:02 字數 893 閱讀 5954

在android中每個介面都是乙個activity,切換介面操作其實是多個不同activity之間的例項化操作。在android中activity的啟動模式決定了activity的啟動執行方式。

一、activity啟動模式設定

二、activity的四種啟動模式

standard

模式啟動模式,每次啟用activity時都會建立activity,並放入任務棧中。

singletop

如果在任務的棧頂正好存在該activity的例項, 就重用該例項(會呼叫例項的onnewintent(),重寫該方法可取得啟用該activity的intent物件),否者就會建立新的例項並放入棧頂,即使棧中已經存在該activity例項,只要不在棧頂,都會建立例項。

singletask

如果在棧中已經有該activity的例項,就重用該例項(會呼叫例項的onnewintent(),重寫該方法可取得啟用該activity的intent物件)。重用時會讓該例項回到棧頂,因此在它上面的例項將會被移除棧。如果棧中不存在該例項,將會建立新的例項放入棧中。

singleinstance

在乙個新棧中建立該activity例項,並讓多個應用共享改棧中的該activity例項。一旦改模式的activity的例項存在於某個棧中,任何應用再啟用改activity時都會重用該棧中的例項,其效果相當於多個應用程式共享乙個應用,不管誰啟用該activity都會進入同乙個應用中。典型應用時瀏覽器應用,瀏覽器比較耗資源,若多個程式訪問瀏覽器都新建瀏覽器例項的話消耗過大。

三、 例項

節選自:

關閉android程式裡所有的activity

如果你喜歡開門見山的話,請直接跳到第三段,因為第二段描述的問題有些抽象,無視第二段是不影響理解的。可以利用清理歷史棧的方法,來巧妙關閉所有activity,首先用乙個設定為不可見的activity a來啟動程式,這個activity a的作用只是用來墊棧底,只有啟動和退出程式才會用到這個activi...

9個Web工具提高Android開發效率

在google的廣大支援下,便捷開發android程式的native工具層出不窮。其實android開發涉及到的範圍也不小,一些web工具有時候也會帶來事半功倍的效果。有些甚至是一些native應用無法做到的。簡單列舉一下本人正在使用的一些工具。codota 查詢優秀的參考工程 codota是乙個查...

提高Android開發效率的9個Web工具

codota是乙個查詢可供參考的android工程的 它的爬蟲已經採集了將近7百萬個工程。比如我們想要寫一段android中檢測網路可用性的 我們只需要在搜尋框中輸入network,就會找到已經存在的優秀工程中關於這一邏輯的具體實現,確實為我們編碼節省不少重複造輪子的成本。另外,codeta還有支援...