把activity看成乙個頁面,在android系統中,activity 被作為 activity 棧進行管理.
- 當前活動的activity 處於棧頂.
- 非活動的activity 壓在棧中, 處於等待狀況
乙個activity的狀態有如下4種:
- 活動. (處於棧頂, 有焦點,可見)
- 暫停. (失去焦點,但可見)
- 停止. (失去焦點,不可見)
- 銷毀. (被系統或程序結束)
乙個activity的方法有如下7個:
- .oncreate() 建立
- .onstart() 啟動
- .onrestart() 重啟.
- .onresume() 恢復
- .onpause() 暫停
- .onstop() 停止
- .ondestroy() 銷毀
activity 的生命週期的 cases
a. activiy1 啟動
- code:
super.oncreate()
- 執行順序: ( activity1 : oncreate() -> onstart() ->onresume() )
b. 從activity1 跳轉到 activity2, 然後關閉activity1.
- code:
intent intent = new intent(); //新建乙個intent物件.
intent.setclass(activity1.this, activity2.class); //設定intent要啟動的類.
startactivity(intent); //啟動乙個新的activity
activity1.this.finish(); //關閉當前的activity.
- 執行順序: (activity1: onpause() )-> ( activity2: oncreate() ->onstart() ->onresume()) -> (activity1:onstop() ->ondestroy())
c. 關閉activity1, 退出程式 , 或者按 "back" 鍵.
- code:
activity1.this.finish();
-執行順序: activity1: onpause()->onstop()->ondestroy();
d. 按"home"鍵, 然後再執行程式.
- 執行順序: activity1: onpause()->onstop() => 執行其他程式 => 再執行本程式: activity1: onrestart()->onstart()-)>onresume()
e. 重新整理activity1
- code:
public class lifecycleactivity extends activity
});
} @override
protected void ondestroy()
@override
protected void onpause()
@override
protected void onrestart()
@override
protected void onresume()
@override
protected void onstart()
@override
protected void onstop()
public void reload()
}
-執行順序: oncreate()->onstart()->onresume() ==> 點按紐後 onpause()->oncreate()->onstart()->onresume()->onstop()->ondestroy() 理解Activity生命週期
最近學習了activity的生命週期,下面通過乙個小例子來更好的理解一下activity的生命週期。階段1 實現如下圖所示的介面 此時按下home鍵,再次啟動activitydemo應用程式,觀察一下edittext中還有沒有剛才我們輸入的data.然後再按下返回鍵重新啟動activitydemo應...
生命週期篇 一 Activity生命週期理解
乙個activity 通俗點就叫乙個介面吧 在實際使用中會有幾種狀態 1.正在顯示 處於當前螢幕最頂層 2.尚且可見,但不可用 在其他介面下面,但未被完全覆蓋 3.完全不可見 被其他介面完全覆蓋,最常見的就是切換到桌面 以上是實際使用android手機的時候最直觀的介面狀態,那麼接下來我們來 一下,...
Activity生命週期
oncreate 設定activity所使用的布局檔案 按鈕繫結 等靜態設定操作 onstart 該activity能被我們看到的時候就會呼叫onstart onresume 能夠獲得使用者焦點 onpause 啟動另外乙個activity的時候就會呼叫第乙個activity的該方法 onstop ...