教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

Servlet接口讀取Web應(yīng)用下的資源文件【步驟演示】

更新時間:2022年04月11日17時47分 來源:傳智教育 瀏覽次數(shù):

好口碑IT培訓(xùn)

什么是生命周期

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

Activity生命周期

1、運行狀態(tài)

當(dāng)Activity在屏幕的最前端時,它是可見的、有焦點的??梢杂脕硖幚碛脩舻某R姴僮?,如點擊、雙擊、長按事件等,這種狀態(tài)稱為運行狀態(tài)。

2、暫停狀態(tài)

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

3、停止?fàn)顟B(tài)

當(dāng)Activity完全不可見時,它就處于停止?fàn)顟B(tài),但仍然保留著當(dāng)前狀態(tài)和成員信息。然而這些對用戶來說都是不可見的,如果當(dāng)系統(tǒng)內(nèi)存不足時,這個Activity很容易被殺死。

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

Activity從一種狀態(tài)轉(zhuǎn)變到另一種狀態(tài)時會觸發(fā)一些事件,執(zhí)行一些回調(diào)方法來通知狀態(tài)的變化,具體方法如下所示:

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

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

Activity的生命周期

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



猜你喜歡:

怎樣實現(xiàn)Servlet程序的自動加載?

Java培訓(xùn)之ServletContext的介紹與獲取

servlet的生命周期及servlet常用方法【Java面試題】

Java線程的生命周期包括哪幾種狀態(tài)?

傳智教育JavaEE培訓(xùn)課程

0 分享到:
和我們在線交談!