簡介:四大組件之一,在應用中一個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()


