Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> 活動的生命周期(三):實例上機課,生命周期上機

活動的生命周期(三):實例上機課,生命周期上機

編輯:關於android開發

活動的生命周期(三):實例上機課,生命周期上機


    讓我們再來回顧一下上節課中分享的7個生命周期;分別是:onCreate()、onSart()、onResme()、onPause()、onStop()、onDestroy()、onRestart();

         1.onCreate():初始化操作,所有活動都從這裡啟始。這裡可以加載布局,或綁定事件等。

         2.onSart():這個是活動變為不可見時調用。

         3.onResme():這個方法一直處於棧的頂部,在和用戶交互時調用,一直處於動行狀態。

         4.onPause():系統准備去啟動或者恢復另一個活動時調用。這個方法以通常用來釋放內存或保存數據,一定要快,不然會影響到棧頂部的活動運行。

         5.onStop():這個方法是活動處於不可見時調用,它與onPause()的區別在於如果啟動的活動是一個對話框式的,則onPause()會得到執行而onStop()的不會執行。

         6.onDestroy():這個是活動被回收時調用,調用後活動就會被回收。

         7.onRestart():重啟處於停止狀態的活動。

    下面讓我們來創建一個實例來檢驗一下上節課所學到的知識,這次我們重新創建一個項目:activtityLifecysletest

         分別是dialog_Activity、NormalActivity、 MainActivity。其中dialog_Activity、NormalActivity分別有一個txtview控件,txt為活動的中文名。MainActivity中有兩個按鈕分別啟動dialog_Activity、NormalActivity之用。在MainActivity注冊兩個活動的事件,然後調用幾個回調函數來記錄日志,讓我們看清楚這7個方法的啟動順序。

      

public class MainActivity extends AppCompatActivity {

    public static final String TAG = "MainActivity";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Log.d(TAG, "onCreate");

        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.activity_main);
        Button startNormalActivty = (Button) findViewById(R.id.start_normal_activity);
        Button startDialogActivty = (Button) findViewById(R.id.start_dialog_activity);

        startNormalActivty.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent = new Intent(MainActivity.this, NormalActivity.class);
               startActivity(intent);
            }
        });

        startDialogActivty.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent = new Intent(MainActivity.this, dialog_Activity.class);
                startActivity(intent);
            }
        });

    }

    @Override
    protected void onStart() {
        super.onStart();
        Log.d(TAG, "onStart服務開始");
    }

    @Override
    protected void onResume() {
        super.onResume();
        Log.d(TAG, "Resume活躍狀態");
    }
    @Override
    protected  void  onStop(){
        super.onStop();
        Log.d(TAG,"onStop活動停止") ;
    }
       @Override
       protected void onDestroy(){
            super.onDestroy();
           Log.d(TAG,"onDestroy活動銷毀");
       }
    @Override
    protected  void onRestart()
    {
          super.onRestart();
        Log.d(TAG,"onRestart活動重啟")  ;

    }

}

   以上是MainActivity的代碼。兩個活動的這裡就不寫了,小Y的鍵盤真心不好用。快被虐哭了。直接上圖吧。

   

    

        

         



  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved