Activity란?

앱과 사용자의 상호작용을 위한 진입점으로 Activity 클래스의 서브클래스(AppCompatActivity 또는 FragmentActivity )로 구현된다.

Activity는 리눅스 커널의 프로세스로 실행되고, 하나의 UI 그리는 창을 제공한다.

하나의 Activity를 통해 다른 Activity를 실행할 수도 있다.(Intent)

Activity 생명 주기

onCreate()

Activity를 생성할 때 실행되는 것으로 필수적으로 구현해야 한다.

savedInstanceState(이전 저장상태가 포함된 Bundle객체) 매개변수를 수신한다.

XML파일이나, 코드를 통해 생성한 ViewGroup을 setContentView()에 전달하여 레이아웃을 생성할 수 있다.

onCreate() 메소드가 실행을 완료하면 시작됨 상태가 되고, 시스템이 연달아 onStart()onResume() 메소드를 호출한다.

onStart()

Activity가 시작됨 상태에 들어가면 시스템이 이 콜백을 호출한다.

사용자에게 Actvity가 표시되고, 앱은 Actvity를 포그라운드로 보내 상호작용할 수 있도록 준비한다.

해당 콜백 완료 후, Activity가 재개됨 상태에 들어가면, 시스템이 onResume() 메소드를 호출한다.

onResume()

Activity가 재개됨 상태에 들어가면 포그라운드에 표시되고 시스템이 onResume() 콜백을 호출한다.

앱에서 포커스가 떠날 때까지 앱은 이 상태에 머무르며 사용자와 상호작용한다.

방해되는 이벤트가 발생하면 Activity는 일시중지됨 상태에 들어가고, 시스템이 onPause() 콜백을 호출한다.