레이아웃파일에서 컨트롤에 대한 참조를 가지게 되었으므로 사용자 상호작용에 대한 응답을 프로그래밍 할 수 있는 것이다.
n OnReStart : 액티비티가 정지되었다가 다시 시작되기 직전에 호출되며 OnRestart() 다음으로는 항상 OnStart()가 호출된다.
n OnStart : UI가 화면에 보이기 직전에 호출되며 이 시점에 UI가 로딩 된다고 해도 사용자의 입력을 받을 수 는 없다. 이어서 액티비티가 전면에 나서며 포커스를 받을때 OnResume()이 호출되며, 그렇지 않고 바로 가려지면 OnStop()이 호출된다. 즉 다음으로 OnResume() 또는 OnStop()이 호출된다.
n OnResume : Activity가 장치 화면으로 돌아올 때마다 발생해야하는 모든 작업을 수,행 UI 로딩이 끝난후, 사용자 Input (Interaction)이 시작되기 전에 호출된다. 이 함수들이 다 호출되고 나면 애플리케이션은 실행 가능 상태인 “Activity Running” 상태가 되고 UI도 모두 로딩되어 사용자로 부터 입력을 받을 준비도 끝난다. 액티비티가 사용자와 상호작용을 할 수 있는 상태가 되기 직전에 호출된다. 이때 액티비티는 백스택(Backstack)의 최상단에 있고, 사용자는 액티비티에 뭔가를 할 수 있는 상태가 된다. OnResume() 다음으로는 항상 OnPause()가 호출됩니다.
n OnPause : 정지화면에서 액티비티가 사라질 때 실행된다. 즉 Activity가 장치 화면을 떠날 때마다 발생해야 하는 모든 작업을 수행한다. 사용자와 액티비티의 거리가 한단계 멀어지는 경우에 호출되는 콜백 메소드, 액티비티가 화면에 보여지고 있는 상태와 완전히 정지되어 화면에서 사라진 상태의 중간 단계라고 볼 수 있다. 이 상태 이후에 액티비티가 종료될 수도 있기 때문에 여기서는 액티비티가 다시 시작되었을 때 유지되어야 하는 값들이 있을 경우 저장하는 일을 한다. 정확한 상태 정의는 “보이기는 하지만 사용자와 Interaction을 할 수 없는 상태” 정도로 정의할 수 있다. 이런 상태가 어떤 상태인가 하면 다이얼로그등과 같은 다른 액티버티가 앞에 떠서 사용자 Interaction을 수행하는 상태이다 그러나 기존의 Activity는 그대로 뒤에 떠 있지만 뒤에 떠 있는 activity 는 사용자 Interaction을 받지 못하는 상태이다. 이 때 사용중인 쓰레드 정리, 데이타 저장등을 수행하거나 또는 포커스를 잃은 화면이기 때문에 애니메이션등을 정지해야 한다. 다시 해당 Activity로 돌아가게 되면 OnResume으로 다시 돌아가서 화면을 다시 호출하게 된다. 화면이 보이지 않는 상태에서 메모리가 부족하게 되면 안드로이드 시스템에 의해서 이 단계에서 자동으로 정지(Killed) 될 수 있다. Killed 된 상태에서 다시 그 화면으로 돌아가게 되면 다시 onCreate로 돌아가서 앱을 처음부터 다시 시작하게 된다.
n OnStop : 액티비티가 더이상 사용자에게 보여지지 않을때 호출된다. 보통 액티비티가 종료되는 상황이거나, 다른 액티비티가 resume 상태가 되면서 이전 액티비티를 완전히 가려버리는 상황이다. 이어서 액티비티가 다시 사용자에게 보여지는 상태가 되는 경우 OnRestart()가 호출되고 액티비티가 종료되고, 종료되어 백스택에서도 빠지는 경우 OnDestroy()가 호출된다.
n OnDestroy : 액티비티가 메모리에서 소멸될때 호출된다. 생명주기에서 마지막으로 호출되는 콜백 메소드로 finish()가 호출되었거나 시스템이 다른 작업을 위한 메모리를 확보하기 위해 임의로 종료시키는 경우에 호출된다.