1. 程式人生 > >activity在singleTop模式下的生命週期

activity在singleTop模式下的生命週期

設計三個activity:act1,act2,act3;


我們在配置檔案中將三個act都可以設定為singleTop,通過相互或自身跳轉來熟悉這種模式的特點。

首先我們的執行順序為:act1->act2->act3->act1->act2->act3

可以發現相鄰不同的act之間的跳轉和standard模式一樣:


接下來我們回退到棧內最後一個act1也就是回退5次發現還是一樣:


那麼我們再做這樣的一次跳轉相同一act:act1->act1-act1發現了它的特點:


跳轉相同的頁面,它呼叫了onNewIntent而不再是onCreate->onStart->onResume->前onStop(當然在記憶體不夠的時候銷燬了之前相同的act依然會走onCreate方法

)。

返回時由於在棧頂永遠都是這個act1所以是同一個例項所以回退只會一次:


總結:當前singleTop模式的act正處於棧頂時,跳轉該act會呼叫onNewintent方法且不會重新建立該act例項,只會重新呼叫該例項,生命週期為:onPause->onNewIntent->onResume