Android Activity類講解(一)

來源:互聯網
上載者:User

標籤:des   android   c   style   blog   a   

--by CY[[email protected]]

1.protected void onCreate(Bundle savedInstanceState) { throw new RuntimeException("Stub!");   }

  當建立一個Activity時,系統會自動調用onCreate方法來完成建立工作.該建立工作包括布局,監聽器的綁定等.

  首先說一下Bundle 這個類,Bundle是一個索引值對,跟Map類似,兩個Activity之間的通訊可以用Bundle類來實現.

  Bundle savedInstanceState對象則是儲存程式上一次關閉(凍結)時的狀態,也可以通過重寫onFreeze方法來儲存凍結前的狀態.當程式啟動(Activity 重新初始化時),會再次調用onCreate方法,從savedInstanceState中擷取前一次的凍結狀態,可以通過Bundle來將這一個Activity 中的內容傳到下一個Activity 中.

  當一個Activity 結束前需要儲存狀態,就儲存在savedInstanceState中,當其它Activity建立時,就能從中獲得資料.

 

2.protected void onSaveInstanceState(Bundle outState) { throw new RuntimeException("Stub!");    }

  Android中的Activity通過onSaveInstanceState()方法儲存Activity的狀態,在onCreate或者onRestoreInstanceState方法中哦功能恢複,如果是通過onRestart方法運行,則只會執行onSaveInstanceState方法.

  圖1-1是android Activity的生命週期.

  

  圖1-1

 

3. protected void onRestoreInstanceState(Bundle savedInstanceState) { throw new RuntimeException("Stub!"); }

  解釋見第2條

4.protected void onRestart() { throw new RuntimeException("Stub!");    }

  解釋見第2條

5. protected void onStart() { throw new RuntimeException("Stub!");    }

  下面來結合來說一下onCreate, onStart, onResume, onPause, onRestart, onStop, onDestroy方法.當啟動一個Activity時,系統會依次調用onCreate, onStart, onResume方法.

  從activity1啟動activity2時,會先調用activity1的onPause方法,然後再調用activity2的onCreate, onStart, OnResume方法,若要完全覆蓋activity1,則最後再調用activity1的onStop方法.

  

 onCreate方法:

  • Activity第一次建立時,被系統調用
  • 作用是設定布局檔案,綁定監聽器

 onStart方法:

  •  Activity可見時,會調用該方法

 onResume方法:

  • 使用者可以擷取當前焦點時,會調用該方法

 onPause方法:

  • 當新的Activity遮住當前Activity時,該方法會儲存當前Activity中的資料

 onRestart方法:

  • 一個Activity沒有被銷毀時(調用onDestroy方法),再次使用該Activity時會調用onRestart方法

  onStop方法:

  • 噹噹前Activity完全不可見時,系統會調用該方法

 onDestroy方法:

  • 銷毀一個Activity

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.