Android中Activity的四種啟動模式

2021-09-26 14:02:36 字數 863 閱讀 3905

如果啟動activity時不建立新的例項而是重用之前的例項,則會呼叫onnewintent()方法。

標準模式,也是activity的預設模式,這種模式下的activity可以被多次例項化。

棧頂復用模式,如果activity處於棧頂,再次啟動這個activity時,不會建立新的例項,而是重用位於棧頂的例項。

棧內復用模式,如果activity在任務棧中已存在,再次啟動這個activity時,會重用已存在的例項,並銷毀在這個activity棧上方的所有activity。

單例模式,第一次啟動activity時會建立新的任務棧,並在該任務棧中建立activity例項,再次啟動activity時,會重用已存在的任務棧和例項。

activity的啟動模式可以在androidmainifest中設定,也可以通過intent設定,intent方式的優先順序更高,androidmainifest方式無法設定flag_activity_clear_top,intent方式無法設定singleinstance。

android:name=

".mainactivity"

android:launchmode=

"singletop"

/>

intent intent =

newintent

(mainactivity.

this

,testactivity.

class);

intent.

addflags

(intent.flag_activity_new_task)

;startactivity

(intent)

;

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布局檔案來定義...