Android 四大組件之Activity生命週期

來源:互聯網
上載者:User

標籤: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生命週期

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.