91国产视频在线播放_精品视频在线观看99_天天干天天干天天干天天射_色婷婷一区二区三区免费观看 - 日韩免费看片网站

服務熱線:0755-83100310(7X24h)

Android-------Activity生命周期

發布者:admin    發布時間:2019-08-18    人氣:2085

當前位置:首頁 > 動態 > 技術分享

Android-------Activity生命周期,生命周期流程圖:

Activity生命周期.png

1.啟動Activity:系統會先調用onCreate方法,然后調用onStart方法,最后調用onResume,Activity進入運行狀態。

2.當前Activity被其他Activity覆蓋其上或被鎖屏:系統會調用onPause方法,暫停當前Activity的執行。

3.當前Activity由被覆蓋狀態回到前臺或解鎖屏:系統會調用onResume方法,再次進入運行狀態。

4.當前Activity轉到新的Activity界面或按Home鍵回到主屏,自身退居后臺:系統會先調用onPause方法,然后調用onStop方法,進入停滯狀態。

5.用戶后退回到此Activity:系統會先調用onRestart方法,然后調用onStart方法,最后調用onResume方法,再次進入運行狀態。

6.當前Activity處于被覆蓋狀態或者后臺不可見狀態,即第2步和第4步,系統內存不足,殺死當前Activity,而后用戶退回當前Activity:再次調用onCreate方法、onStart方法、onResume方法,進入運行狀態。

7.用戶退出當前Activity:系統先調用onPause方法,然后調用onStop方法,最后調用onDestory方法,結束當前Activity。

下面我們就結合實例,來演示一下生命周期的幾個過程的詳細情況。

?

package com.example.lifecycleactivity;

 

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.util.Log;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;


public class MainActivity extends Activity implements OnClickListener {

    private static final String TAG = "MainActivity";

    private Button btn_intent;

    // Activity創建時被調用

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        Log.d(TAG, "onCreate");

        btn_intent = (Button) findViewById(R.id.main_button);

        btn_intent.setOnClickListener(this);

    }

    // Activity創建或者從后臺重新回到前臺時被調用

    @Override

    protected void onStart() {

        Log.d(TAG, "onStart");

        super.onStart();

    }

    // Activity從后臺重新回到前臺時被調用

    @Override

    protected void onRestart() {

        Log.d(TAG, "onRestart");

        super.onRestart();

    }

 

    // Activity創建或者從被覆蓋、后臺重新回到前臺時被調用

    @Override

    protected void onResume() {

        Log.d(TAG, "onResume");

        super.onResume();

    } 

    // Activity被覆蓋到下面或者鎖屏時被調用

    @Override

    protected void onPause() {

        Log.d(TAG, "onPause");

        super.onPause();

    }

    // 退出當前Activity或者跳轉到新Activity時被調用

    @Override

    protected void onStop() {

        Log.d(TAG, "onStop");

        super.onStop();

    }

 

    // 退出當前Activity時被調用,調用之后Activity就結束了

    @Override

    protected void onDestroy() {

        Log.d(TAG, "onDestroy");

        super.onDestroy();

    }

    @Override

    public void onClick(View v) {

        switch (v.getId()) {

        case R.id.main_button:

            Intent it = new Intent(MainActivity.this, TargetActivity.class);

            startActivity(it);

            break;

        default:

            break;

        }

    }

}

1.啟動Activity:

在系統調用了onCreate和onStart之后,調用了onResume,自此,Activity進入了運行狀態。

2.跳轉到其他Activity,或按下Home鍵回到主屏 

在onPause之前被調用了,并且注意,退居后臺時,onPause后onStop相繼被調用。 

3.從后臺回到前臺:

當從后臺會到前臺時,系統先調用onRestart方法,然后調用onStart方法,最后調用onResume方法,Activity又進入了運行狀態。

4.按回退鍵使LifeCycleActivity從被覆蓋回到前面,或者按解鎖鍵解鎖屏幕 

5.退出:

最后onDestory方法被調用,標志著LifeCycleActivity的終結。