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