Activity系列講解---三大基本狀態與七大生命周期函數


   簡介:四大組件之一,在應用中一個Activity可以用來表示一個界面,可以理解為用戶可視化界面,一個android應用必須通過Activity來運行和啟動。

1.三大基本狀態與七大生命周期函數

 

2.代碼實現---LifeCycleActivity.class

/**
 * Activity的三個狀態和七大生命周期方法分析
 *
 */
public class LifeCycleActivity extends AppCompatActivity {

    /**
     * Activity創建時第一個調用的方法,通常我們在該方法中加載布局文件,初始化UI組件,事件注冊等等
     * @param savedInstanceState
     */
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_life_cycle);
        System.out.println("Activity---->onCreate");
    }

    /**
     * 在onCreate()之后調用,用於顯示界面,但用戶還不能進行交互
     */
    @Override
    protected void onStart() {
        super.onStart();
        System.out.println("Activity---->onStart");
    }
    /**
     * 在onStart()之后調用,該方法執行完成后,用戶可以進行交互,當前Activity進入Resumed狀態
     * 當一個paused狀態的activity被重新返回時,會再次調用該方法,讓activity進入運行狀態
     */

    @Override
    protected void onResume() {
        super.onResume();
        System.out.println("Activity---->onResume");
    }


    /**
     * 當其它activity(透明或窗口模式)進入時,會被調用,讓當前activity進入paused狀態(暫停狀態)
     * 當前activity還可見但不可交互,如果其它更高優先級的APP需要內存時,當前activity可能會被銷毀(kill)
     * 當前activity被返回時會調用onResume()
     */
    @Override
    protected void onPause() {
        super.onPause();
        System.out.println("Activity---->onPause");
    }

    /**
     * 當其它activity完全覆蓋該activity時,會被調用,當前activity進入stop狀態(停止狀態)
     * 當前activity不可見,如果其它更高優先級的APP需要內存時,當前activity可能會被銷毀(kill)
     * 當前activity被返回時會調用onRestart()
     */
    @Override
    protected void onStop() {
        super.onStop();
        System.out.println("Activity---->onStop");
    }

    /**
     * 當一個stopped狀態的activity被返回時調用,之后再調用onResume方法進入運行狀態
     */
    @Override
    protected void onRestart() {
        super.onRestart();
        System.out.println("Activity---->onCreate");
    }

    /**
     * 當前activity被銷毀時調用,通常在該方法中用來釋放資源
     */
    @Override
    protected void onDestroy() {
        super.onDestroy();
        System.out.println("Activity---->onDestory");
    }

}

  

3.運行結果分析:

(1)當啟動actvity時,會調用onCreate()-->onStart()-->OnResume()

(2)當按Home鍵或者鎖屏鍵時,會調用OnPause()-->OnStop()

(3)當按退出鍵時,會調用OnPause()-->OnStop()-->OnDestory()

(4)當解開鎖屏時,會調用OnRestart()-->OnStart()-->OnResume()

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM