Android 的 Activity 四種啟動模式

2021-07-02 14:50:43 字數 597 閱讀 8959

在多activity開發中,有可能是自己應用間的activity 跳轉,或者夾帶其他應用的可復用activity。可能會希望跳轉到原來某個activity例項,而非產生多個重複的activity。我們可借助 activity 四種啟動模式來實現不同的需求:

standard 預設模式 ——— 來了intent,每次都建立新的例項。

singletop ——– 來了intent, 每次都建立新的例項,僅乙個例外:當棧頂的activity 恰恰就是該activity的例項(即需要建立的例項)時,不再建立新例項。這解決了棧頂復用問題,想一想,你按兩次back鍵,退出的都是同乙個activity,這感覺肯定不爽。

singletask ———- 來了intent後,檢查棧中是否存在該activity的例項,如果存在就把intent傳送給它,否則就建立乙個新的該activity的例項,放入乙個新的task棧的棧底。肯定位於乙個task的棧底,而且棧中只能有它乙個該activity例項,但允許其他activity加入該棧。解決了在乙個task中共享乙個activity。

singleinstance ———– 肯定位於乙個task的棧底, 並且是該棧唯一的activity。解決了多個task共享乙個activity。

android基本程式單元Activity

activity提供了和使用者互動的視覺化介面,建立乙個activity一般都繼承了activity,覆蓋了activity的oncreat方法.在該方法中呼叫setcontentview的方法展示要顯示的檢視.呼叫findviewbyid方法例項化元件.activity只有在清單檔案中宣告才能使用...

android 顯式 隱式啟動activity

android啟動activity分為顯式啟動和隱式啟動。顯式啟動時,指定被啟動activity類,系統啟動被指定的activity類。隱式啟動時,指定action category,系統會拿action category去androidmanifest.xml中匹配,匹配的activity啟動。某...

listactivity與activity的區別

listactivity實際上是listview和activity的結合體。也就是說,乙個listactivity就是只包含乙個listview元件的activity。在listactivity類內部通過 來建立listview物件,因此,使用listactivity並不需要使用xml布局檔案來定義...