Activity的生命週期 摘自官方docs

2022-05-09 03:21:10 字數 1013 閱讀 9844

系統中的activity以乙個activity棧的方式被管理。當乙個新的activity啟動後,被放在棧頂,成為執行中的activity - 之前的activity在棧中位於在其下面,直到新的activity退出才會再次到螢幕的前景來。

乙個activity有4種基本狀態:

1.如果乙個activity位於螢幕的前景(位於棧頂),該activity是活動

的或執行中的.

2.如果乙個activity已失去焦點但依舊可見(乙個新的非全屏的或透明的activity位於其上並持有焦點),它處於暫停狀態。乙個暫停的activity是活的(持有所有狀態和成員資訊,保持與視窗管理器的聯接),但可以在記憶體過低時被系統殺掉.

3.如果乙個activity完全被另乙個activity覆蓋,它處於停止狀態。它仍然保持所有的狀態和成員資訊,但對使用者不再可見,其視窗被隱藏,常常在記憶體不足時被系統殺掉.

4.如果activity是暫停或停止的,系統可以從記憶體丟棄該activity:要求其終止或簡單殺掉其程序。當其再次顯示時,必須重啟動並恢復到其前期狀些操作。有顏色的橢圓是activity可能處於低重要狀態。 

*乙個activity的建立過程:oncreate()->onstart()->onresume();

*如果乙個activity失去焦點(被另外的activity完全覆蓋,即失去焦點),那麼該activity:onpause()->onstop(),另外乙個activity:oncreate()->onstart()->onresume()

點選返回,則第乙個activity:onrestart()->onstart()-onresume(),第二個activity:onpause()->onstop()->ondestory()

*如果乙個activity已失去焦點但依舊可見(乙個新的非全屏的或透明的activity位於其上並持有焦點),那麼該activity:onpause();得到焦點後即onresume();

Activity生命週期

oncreate 設定activity所使用的布局檔案 按鈕繫結 等靜態設定操作 onstart 該activity能被我們看到的時候就會呼叫onstart onresume 能夠獲得使用者焦點 onpause 啟動另外乙個activity的時候就會呼叫第乙個activity的該方法 onstop ...

activity生命週期

乙個activity的啟動順序 oncreate onstart onresume 當另乙個activity啟動時 第乙個activity onpause 第二個activity oncreate onstart onresume 第乙個activity onstop 當返回到第乙個activity...

Activity 生命週期

activities 在系統中是以 activity 棧的形式被管理的。當乙個新的 activity 啟動時,它將會被放到棧的頂部並變成 running activity 上乙個activity 會被至於它的下面,在新 activity 存在期間它都不會到前端來。乙個 activity 有四個重要的...