Activity(二)

Activity用來保存和恢復狀態的方法如下:

protected void onSaveInstanceState(Bundle outState)

Activity被系統殺死時調用,如屏幕橫豎屏切換Activity被銷毀再重建等。

(1)在Activity被覆蓋或退居后臺之后,系統資源不足將其殺死,此方法會被調用;

(2)在用戶改變屏幕方向時,此方法會被調用;

(3)在當前Activity跳轉到其他Activity或者按Home鍵回到主屏,自身退居后臺時,此方法會被調用。

第一種情況我們無法保證什么時候發生,系統根據資源緊張程度去調度;第二種是屏幕翻轉方向時,系統先銷毀當前的Activity,然后再重建一個新的,調用此方法時,我們可以保存一些臨時數據;第三種情況系統調用此方法是為了保存當前窗口各個View組件的狀態。onSaveInstanceState的調用順序是在onPause之前。

protected void onRestoreInstanceState(Bundle savedInstanceState)

Activity被系統殺死后重新創建時調用,如屏幕橫豎屏切換Activity被銷毀再重建等。

(1)在Activity被覆蓋或退居后臺之后,系統資源不足將其殺死,然后用戶又回到了此Activity,此方法會被調用;

(2)在用戶改變屏幕方向時,重建的過程中,此方法會被調用。

我們可以重寫此方法,以便可以恢復一些臨時數據。onRestoreInstanceState的調用順序是在onStart之后。

public void onWindowFocusChanged(boolean hasFocus)

Activity窗口獲得或失去焦點時被調用,例如創建時首次呈現在用戶面前;當前Activity被其他Activity覆蓋;當前Activity轉到其他Activity或按Home鍵回到主屏,自身退居后臺;用戶退出當前Activity。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 【Android Activity】 什么是 Activity? 四大組件之一,通常一個用戶交互界面對應一個 ac...
    Rtia閱讀 3,843評論 3 18
  • 大家好,我叫石頭 Activity是什么? 相信大家都知道Android中的4大組件(Activity活動,Ser...
    噬魂Miss閱讀 1,588評論 3 11
  • 祈請我的高級智慧加持我的能量! 已經很久沒有賺錢的動力了,今年二月份開始接觸到靈性課程,希望在這里得到成長,但是在...
    yingzhi314閱讀 177評論 0 0
  • 兒子上幼兒園大班了,學習的東西也多了,最近在學拼音,剛開始學的少,還能記住幾個,后來學的多了就記不住了,到拼讀的時...
    寫作也幸福閱讀 423評論 0 1
  • 雨后的初春 天空如此純凈 清新,亮麗,如明鏡般透明 被洗過的青山綠水 輕煙繚繞,仿如隔世之仙境 綠草茵茵,百花爭艷...
    雙zs閱讀 1,856評論 0 2