activity是android開發的基本中的基本每一個項目都會有activity。activity有自己的生命周期,在網上有很多博客和資料,在這里我也只是印證一下。
一個activity:
在打開activity的時候會走下面三個方法
onCreate
onStart
onResume
在單擊回退activity時候
onPause
onStop
onDestroy
在點擊home鍵的時候
onPause
onStop
再次打開app
onRestart
onStart
onResume
當程序崩潰的時候,不走生命周期
在有兩個activity的時候,把第一個activity名稱暫定位frist,第二個為second
當啟動第一個activity
frist: onCreate
frist: onStart
frist: onResume
當打開第二個activity
frist: onPause
second: onCreate
second: onStart
second: onResume
frist: onStop
在第二個activity回退時
second: onPause
frist: onRestart
frist: onStart
frist: onResume
second: onStop
second: onDestroy
在第二個activity點擊home
second: onPause
second: onStop
再次打開app
second: onRestart
second: onStart
second: onResume
activity的啟動模式
standard:標准模式,每次啟動一個Activity都會重新建一個新的實例,不管這個實例是否已經存在
singleTop:棧頂復用模式,如果新Activity已經位於任務站的棧頂,那么次Activity不會被重新創建,同時它的onNewIntent方法會被調用,通過此方法的參數我們可以去取當前請求的信息.
singleTask:棧內復用模式,這是一種單實例模式,在這種模式下,只要Activity在一個棧中存在,那么多次啟動此Activity都不會重新創建實例,和singleTop一樣,系統也會調用其onNewIntent
singleIntance:單實例模式,一種加強的singleTask模式,除了具有singleTask模式的所有特性,還具有此種模式的Activity只能單獨地位於任務棧中,由於棧內復用的特性,后續的請求均不會創建新的Activity,除非這個任務棧被系統銷毀
github地址 https://github.com/tempest1/AndroidActivity
本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。