[Android]안드로이드 Activity 생명주기

한 강·2021년 12월 31일
1

안드로이드

목록 보기
2/6

안드로이드 액티비티 생명주기

- 생명 주기?

사용자가 안드로이드 앱을 사용중에, 스마트폰 화면이 잠금되어 꺼지거나, 앱이 종료 됬을 경우 혹은 앱의 화면이 다른 화면으로 전환되었거나 화면에 보이는 액티비티의 생명주기 메소드를 호출해서 상태 변화를 확인하는 것

- 예시 이미지

- 활동 순서

  • onCreate() -> onStart() -> onResume() -> onPause() -> onStop() ->
    onDestory()
  • 경우에 따라 onRestart() 메소드가 호출될 수 있다.

- onCreate()

  • 액티비티를 생성할 때, 필수적으로 구현해야하며 최초로 실행되는 메소드
  • 뷰의 초기화, 데이터들의 초기화가 이루어짐
  • setContentView(R.layout.main_activity) 와 같이 레이아웃을 설정해주어야 함

- onStart()

  • 액티비티가 사용자에게 보이기 직전에 호출되는 메소드
  • 이 시점부터 사용자가 액티비티를 볼 수 있음

- onResume()

  • 앱과 사용자가 상호작용을 하는 메소드
  • 어떤 이벤트가 발생하여 앱에서 포커스가 떠날 때까지 앱이 이 상태에 머무른다.
  • 다른 앱이 켜지거나, 기기 화면이 꺼지고 난 후 다시 켜질 때 마다
    onResume() 호출 한다.

- onPause()

  • 액티비티가 포그라운드에 있지 않을때 호출되는 메소드
  • 액티비티가 포그라운드에 있지 않고, 실행할 필요가 없는 기능을 정지 할 수 있다.
  • onPause() 에서 다시 액티비티로 돌아올 경우에는 onResume()이 호출된다.

- onStop()

  • 액티비티가 더이상 사용자에게 표시되지 않으면 호출되는 메소드
  • onStop() 호출된 이후에 다시 기존 액티비티로 돌아오는 경우 onStart()가 호출된다.
  • 사용자에 의하거나 시스템에 의해 액티비티가 종료되면 onDestory()가 호출된다.

- onDestory()

  • 액티비티가 사용자에 의하거나 시스템에 의해 완전히 종료되는 경우 호출되는 메소드
  • 사용자가 액티비티를 완전히 끄거나, finish() 가 호출되어 종료되는 경우
  • 구성 변경(기기 회전 또는 멀티 윈도우 모드)로 인해 시스템이 일시적으로 액티비티를 소멸시키는 경우

- onRestart()

  • onStop() 이 호출된 이후에 다시 기존 액티비티로 돌아올 때 호출되는 메소드
  • onRestart()가 호출된 후 onStart()가 호출됨
profile
안드로이드 개발자 & Flutter 개발자

0개의 댓글