Activity生命週期
Activity的三種狀態
Activity有三種狀態,分別是運行狀態、暫停狀態以及停止狀態。
運行狀態:
當Activity在屏幕的最前端(位於當前堆棧的頂部),它是可見的、有焦點的。可以用來進
行處理用戶的操作(點擊、雙擊、長按等),那麼就叫做激活或運行狀態。值得注意的是,
當Activity處於運行狀態的時候,Android 會儘可能的保持它的運行,即使出現內存不足
等情況,Android 也會先殺死堆棧底部的Activity,來確保運行狀態的Activity 正常運行。
暫停狀態:
在某些情況下,Activity 對用戶來說,仍然是可見的,但不再擁有焦點,即用戶對它的操
作是沒用實際意義的。在這個時候,它就是屬於暫停狀態。例如:當最前端的Activity 是
個透明或者沒有全屏,那麼下層仍然可見的Activity 就是暫停狀態。暫停的Activity 仍然
是激活的(它保留着所有的狀態和成員信息並保持與Activity 管理器的連接),但當內存不
足時,可能會被殺死。
注意:也不是所有的Activity 失去焦點就會進入暫停狀態。這點在示例部分會詳細說明。
停止狀態:
當Activity完全不可見時,它就處於停止狀態。它仍然保留着當前狀態和成員信息。然而這
些對用戶來說,都是不可見的;同暫停狀態一樣,當系統其他地方需要內存時,它也有被殺
死的可能。
生命週期事件:
Activity 狀態的變化是人爲操作的,而這些狀態的改變,也會觸發一些事件。我們且叫它生
命週期事件。一共有7 個。
void onCreate(Bundle savedInstanceState)
void onStart()
void onRestart()
void onResume()
void onPause()
void onStop()
voidonDestroy()
當打開一個Activity,如果該Activity 實例不存在於Activity 管理器中,就會觸發
onCreate事件。注意,Activity 的實例不是我們自己創建的,是Android 系統自己創建的。
接下來是onStart 事件,然後是onResume 事件,此時Activity 就處於了運行狀態。
總結:
1.Activity從創建到進入運行狀態所觸發的事件:
onCreate()