Activity의 생명주기

pnlkc·2023년 2월 22일
1
post-thumbnail
post-custom-banner


이미지 출처 : 구글 코드랩

1) onCreate()

  • 모든 Activity에서 반드시 구현해야하는 메소드입니다.
  • Activity의 UI 레이아웃을 지정해야 하는 위치입니다
  • onCreate()는 Activity가 OS에서 메모리에 새 Activity 객체를 만드는 초기화(initialized) 작업 직후 한번만 호출 됩니다.

2-1) onStart()

  • onStart()가 실행되면 Activity가 화면에 표시되기 시작합니다.
  • onStart() 상태에서는 사용자가 앱과 상호작용할 수 없습니다.
  • onCreate()와 달리 onStart()는 Activity의 수명주기 동안 시스템이 여러 번 호출 가능합니다.
  • 포그라운드 상태는 아닙니다.

2-2) onRestart()

  • onRestart()의 역할은 기본적으로 onStart()와 유사합니다.
  • onRestart()는 Activity가 처음으로 초기화 될 때는 호출되지 않습니다.
  • onRestart()는 Activity가 처음 생성된 이후 onStop() 상태에서 다시 액티비티가 실행되었을 때 수행해야 할 작업이 필요한 경우 사용합니다.

3) onResume()

  • onResume()이 실행되면 앱이 포커스를 가집니다.
  • onResume() 상태에서는 사용자가 앱과 상호작용할 수 있습니다.
  • 포그라운드 상태입니다.

4) onPause()

  • Activity에서 포커스가 사라지면 onPause()가 호출됩니다.
  • onPause()가 호출되면 액티비티는 포그라운드 상태에서 백그라운드 상태로 전환됩니다.
  • ex) 카톡 알림이 와서 Activity의 일부를 가리면 onPause()가 호출 됩니다.

5) onStop()

  • Activity가 화면에 표시되지 않으면 onStop()이 호출 됩니다.
  • 이 때 Activity는 완전히 사라지는 것이 아니라 백그라운드에 위치하게 됩니다.
  • 백그라운드 상태입니다.
  • ex) 홈버튼을 눌러 홈화면으로 나가기

6) onDestroy()

  • onDestroy()는 Activity가 리소스(메모리)를 더 이상 사용하지 않도록 Activity와 하위 객체들을 소멸시킵니다.
  • onCreate()와 마찬가지로 Activity 인스턴스의 생명주기에서 1번만 호출됩니다.
  • ex) Configuration changes(구성변경) => 화면 회전, 언어 변경, 다크 모드 등
profile
안드로이드 개발 공부 블로그
post-custom-banner

0개의 댓글