1. 程式人生 > >Activity生命週期和啟動模式

Activity生命週期和啟動模式

Activity的生命週期都很熟知,但一些特殊情況下是走的哪些方法呢?

最普通的,第一次啟動一個Activity onCreat ---onStart---onResume

開啟新的Activity或切換的桌面:onPause ----onStop(如果新的Activity採用了透明主題,那麼當前Activity不會呼叫onStop)

再回到Activity時:onRestart---onStart---onResume

按Back鍵:onPause---onStop---onDestroy

注意:在當前Activity啟動新的Activity時,首先呼叫前Activity的onPause然後新Activity執行onCreat--onStart---onResum,然後舊Activity執行onStop

系統配置發生變化導致Activity銷燬(旋轉螢幕),這是在銷燬時可以呼叫onSaveInstanceState並存儲一定資訊傳遞,在onRestoreInstanceState中獲取

Activity啟動模式:

singleTop:棧頂複用,系統呼叫Activity的onNewIntent方法

singleTask:棧內複用(具有cleanTop效果)

singleInstance:棧內複用+單獨位於一個任務棧中

Activity的(TaskAffinity引數)預設所需任務棧名字都是該應用包名

應用A啟動應用B的Activity  C(allowTaskReparenting 為true) C在A 的任務棧中,再啟動B,C被會受到B的任務棧中。