Activity生命週期(一)經典面試題

問題:

當前棧頂活動爲A,此時再啓動一個活動A,那麼活動A會經歷那些生命週期的變化?

 

答案:

對於這題,暫且稱已經啓動的活動A爲“1號A活動”,未啓動的稱爲“2號A活動”。

那麼此時經歷的生命週期分兩種情況的:

1、A活動的啓動模式爲默認,也即是“standard”

      順序爲:1號A活動(onPause)→2號A活動(onCreate)...

2、A活動的啓動模式不爲默認,可以是:“singleTask”、“singleTop”、“singleInstance”

      順序爲:1號A活動(onPause)→1號A活動(onNewIntent)→1號A活動(onResume)

可以看到,如果活動爲默認模式的話,會新建一個活動,而對於另外三種啓動模式則會調用當前活動的onNewIntent。

 

總結:

拋開表面看本質,對於默認的啓動模式是不會複用活動的,而對於另外三種模式都會複用當前的活動。
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章