2020久久超碰欧美精品最新亚洲欧美日韩久久精品,国产福利电影一区二区三区,亚洲欧美日韩一区在线观看,亚洲国产欧美日韩欧美特级,亚洲欧美日韩成人一区久久,欧美日韩精品一区二区三区不卡,国产欧美日韩va另类影音先锋,亚洲欧美日韩久久精品,亚洲欧美日韩国产成人精品影院,亚洲国产欧美日韩精品一区二区三区,欧美日韩国产成人高清视频,日韩久久精品国产免费观看频道,久久人人爽人人爽从片av高清,国产精品综合一区二区

首頁技術文章正文

什么是生命周期?Activity生命周期的三種狀態

更新時間:2022-04-12 來源:黑馬程序員 瀏覽量:

什么是生命周期

生命周期就是一個對象從創建到銷毀的過程,每一個對象都有自己的生命周期。同樣,Activity也具有相應的生命周期,Activity的生命周期中分為三種狀態,分別是運行狀態、暫停狀態和停止狀態。接下來將針對Activity生命周期的三種狀態進行詳細地講解。

Activity生命周期

1、運行狀態

當Activity在屏幕的最前端時,它是可見的、有焦點的。可以用來處理用戶的常見操作,如點擊、雙擊、長按事件等,這種狀態稱為運行狀態。

2、暫停狀態

在某些情況下,Activity對用戶來說仍然是可見的,但它不再擁有焦點,即用戶對它的操作是沒有實際意義的。例如,當最上面的Activity沒有完全覆蓋屏幕或者是透明的,被覆蓋的Activity仍然對用戶可見,并且存活(它保留著所有的狀態和成員信息并保持與Activity管理器的連接)。但當內存不足時,這個暫停狀態的Activity可能會被殺死。

3、停止狀態

當Activity完全不可見時,它就處于停止狀態,但仍然保留著當前狀態和成員信息。然而這些對用戶來說都是不可見的,如果當系統內存不足時,這個Activity很容易被殺死。

值得一提的是,當Activity處于運行狀態時,Android會盡可能地保持它的運行,即使出現內存不足的情況,Android也會先殺死棧底部的Activity,來確保可見的Activity正常運行。

Activity從一種狀態轉變到另一種狀態時會觸發一些事件,執行一些回調方法來通知狀態的變化,具體方法如下所示:

  • void onCreate(Bundle savedInstanceState):創建時執行
  • void onStart():可見時執行
  • void onRestart():回到前臺,再次可見時執行
  • void onResume():獲取焦點時執行
  • void onPause():失去焦點時執行
  • void onStop():用戶不可見進入后臺時執行
  • void onDestroy():銷毀時執行

為了讓初學者更好理解Activity的三種狀態以及不同狀態時使用的方法,Google公司專門提供了一個Activity生命周期模型的圖例,具體如下圖所示。

Activity的生命周期

從圖中可以看出,當Activity從啟動到關閉時,會依次執行【onCreate()】→【onStart()】→【onResume()】→【onPause()】→【onStop()】→【onDestroy()】方法。當Activity執行到onPause()方法失去焦點時,重新調用回到前臺會執行onResume()方法,如果此時進程被殺死Activity重新執行時會先執行onCreate()方法。當執行到onStop()方法Activity不可見時,再次回到前臺會執行onRestart()方法,如果此時進程被殺死Activity會重新執行onCreate()方法。





分享到:
在線咨詢 我要報名
和我們在線交談!