[안드로이드/코틀린] Activity LifeCycle

박의진·2022년 9월 13일
0

안드로이드 코틀린

목록 보기
15/16

액티비티 라이프사이클

- 라이프사이클 함수는 시스템에서 라이프사이클 관리를 하면서 자동 호출되는 함수들을 의미한다.

활성상태 : 액티비티의 화면이 출력되고 있고 유저가 이벤트를 발생 시킬 수 있는 상태
일시정지상태 : 액티비티의 화면이 출력되고 있지만 유저가 이벤트를 발생 시킬 수 없는 상태
비활성상태 : 액티비티의 화면이 출력되고 있지 않는 상태

전체 라이프 사이클 도식표

활성상태

  • ActivityLaunch 는 인텐트에 의해서 이 액티비티의 객체가 생성되는 것을 의미
  • Activity running은 활성상태를 의미하며 이 상태로 만들어 이벤트를 발생시킬 수 있는 상태로 만든다.
  • 활성상태로 가면서 자동으로 호출되는 함수들을 의미한다.
  • onCreate() 는 최초의 한번만 호출 : 뷰 출력은 여기서 함
  • onStart() 반복해서 호출될수 있음 : 아마 데이터 변경 같은거 일때
  • onResume() 반복해서 호출될 수 있음 : ``

일시 정지 상태

  • 일시정지상태까지 도달하면 onPause()라는 메소드가 호출된다.
  • 유저의 화면은 그대로지만 유저의 이벤트는 받아들이지 못하는 상태가된다.
  • 일시정지상태에 있다가 다시 활성상태가 되면 onResume()라는 함수가 다시 호출된다. 따라서 해당 함수는 반복 호출될 수가 있다.
  • 예를들어 overview 버튼을 눌러서 스크린을 분할 시켰을 때 새 응용프로그램에 포커스가 맞추어지면서 기존 앱에는 onPause () 함수가 호출된다.

비활성 상태

  • onStop()까지 호출되어도 이 액티비티의 객체가 소멸된것은 아니다.
  • 비활성 상태는 객체 소멸상태를 의미하는 것이 아니다.
  • 그저 화면에 안 보이는 상태이다.
  • onStop()에있다가 활성상태가 되면 onRestart() -> onStart() -> onResume() 함수까지 호출되면서 활성상태로 돌아간다.
profile
주니어 개발자의 개발일지

0개의 댓글