標籤:des android style blog http io color ar os
寫這篇博文之前,已經對android有一定的瞭解和認識。這篇博文主要講述android的Activity的生命週期,這是android開發人員必須掌握的知識。android的Activity組件擁有7個生命週期:onCreate()、onStart()、onResume()、onPause()、onStop()、onDestory()、onReStart()。
這7個生命週期分別在4個特定階段進行調用。
開始Activity:當Activity開始啟動並執行時候依次執行3個生命週期:onCreate、onStart、onResume。
Activity失去焦點:如果從一個Activity進入另外一個焦點,當前Activity執行:onPause、onStop。
Activity重新獲得焦點:返回此Activity的時候:onReStart、onStart、onResume。
關閉Activity:Activity·被關閉:onPause、onStop、onDestory。
Activity生命週期流程圖:
看出Activity生命週期的兩層迴圈:1.onResume、onPause、onResume;2.onStop、onReStart、onStart、onResume、onPause、onStop
Activity有三種生命週期:
整體生命週期:onCreate、onStart、onResume、onPause、onStop、onDestory
可視生命週期:onStart、onResume、onPause、onStop
焦點生命週期:onResume、onPause
代碼驗證android的生命週期
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Log.d("test", "onCreate"); } @Override protected void onStart() { // TODO Auto-generated method stub super.onStart(); Log.d("test", "onStart"); } @Override protected void onResume() { // TODO Auto-generated method stub super.onResume(); Log.d("test", "onResume"); } @Override protected void onPause() { // TODO Auto-generated method stub super.onPause(); Log.d("test", "onPause"); } @Override protected void onStop() { // TODO Auto-generated method stub super.onStop(); Log.d("test", "onStop"); } @Override protected void onDestroy() { // TODO Auto-generated method stub super.onDestroy(); Log.d("test", "onDestory"); } @Override protected void onRestart() { // TODO Auto-generated method stub super.onRestart(); Log.d("test", "onRestart"); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); }生命週期測試
程式剛開始運行
:
程式失去焦點
Android 四大組件之Activity生命週期