Activity的生命週期

2022-07-12 16:12:23 字數 1830 閱讀 8998

概述: 四大元件之一的activity元件,在應用中乙個activity可以用來表示乙個介面,我們通常可以理解成「活動」,即乙個活動開始,代表activity元件啟動,活動結束,代表乙個activity的生命週期結束。乙個android應用必須通過activity來執行和啟動。activity的生命週期交給系統統一管理。

先來看千年離不開的activity生命週期圖:

在android中,activity擁有三個基本狀態:

resumed: 乙個新activity啟動入棧後,它在螢幕最前端,處於棧的最頂端,此時它處於可見並可和使用者互動的啟用狀態。

paused: 當activity被另乙個透明或者dialog樣式的activity覆蓋時的狀態。此時它依然與視窗管理器保持連線,系統繼續維護其內部狀態,所以它仍然可見,但是它失去了焦點,不可與使用者互動。

stopped: 當activity被另外乙個activity覆蓋,失去焦點並不可見時處於stopped狀態。

1

public

class mainactivity extends

activity

19});20}

2122

//activity重新可見時被呼叫,接著會呼叫onstart()

23@override

24protected

void

onrestart()

2829

//activity可見時被呼叫

30@override

31protected

void

onstart()

3536

//activity獲得焦點,可以進行互動時被呼叫;處於前台狀態

37@override

38protected

void

onresume()

4243

//activity失去焦點,但是可見(在其他應用需要記憶體時可能會被kill掉),此狀態可以轉為前台onresume()

44@override

45protected

void

onpause()

4950

//activity完全不可見時被呼叫(可能會被系統kill掉);例如返回到此狀態時,如果沒有被kill那麼就會呼叫onrestart()

51@override

52protected

void

onstop()

56//

activity被銷毀時被呼叫

57@override

58protected

void

ondestroy()

62 }

設定main2activity為透明:

<

activity

android:theme

="@android:style/theme.translucent"

android:name

=".main2activity"

android:label

="@string/title_activity_main2"

>

activity

>

結論:鎖屏: onpause() -> onstop()

解鎖: onrestart() -> onstart() -> 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 有四個重要的...