概述: 四大元件之一的activity元件,在應用中乙個activity可以用來表示乙個介面,我們通常可以理解成「活動」,即乙個活動開始,代表activity元件啟動,活動結束,代表乙個activity的生命週期結束。乙個android應用必須通過activity來執行和啟動。activity的生命週期交給系統統一管理。
先來看千年離不開的activity生命週期圖:
在android中,activity擁有三個基本狀態:
resumed: 乙個新activity啟動入棧後,它在螢幕最前端,處於棧的最頂端,此時它處於可見並可和使用者互動的啟用狀態。
paused: 當activity被另乙個透明或者dialog樣式的activity覆蓋時的狀態。此時它依然與視窗管理器保持連線,系統繼續維護其內部狀態,所以它仍然可見,但是它失去了焦點,不可與使用者互動。
stopped: 當activity被另外乙個activity覆蓋,失去焦點並不可見時處於stopped狀態。
1設定main2activity為透明: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 }
<結論:鎖屏: onpause() -> onstop()activity
android:theme
="@android:style/theme.translucent"
android:name
=".main2activity"
android:label
="@string/title_activity_main2"
>
activity
>
解鎖: 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 有四個重要的...