Android Kotlin : 안드로이드 Activity 생명 주기

2022. 10. 22. 19:00[Android APP] feat. Kotlin/Kotlin 공부

생명주기(LifeCycle)란?

  • 사용자가 앱을 사용할 때 액티비티 인스턴스는 수명주기 안에서 상태가 바뀌게 된다.
  • Activity 클래스는 액티비티가 상태 변화를 알 수 있도록 Callback을 제공한다.
  • 안드로이드 앱이 실행된 후, 다른 액티비티 화면으로 전환되거나, 화면이 꺼지거나, 폰 상태바를 내려서 액티비티가 가려지거나, 앱이 종료되는 등의 활동이 일어나면 상태변화가 일어난다고 한다.
  • 이러한 상태 변화가 있을 때 화면에 보이는 액티비티의 생명주기 메서드를 호출해서 상태 변화를 알려줘야 한다.

 

생명주기 콜백을 사용해야 하는 이유

  • 화면 전환이나 다양한 이유로 비정상 종료가 될 수 있다. 또한 사용자가 현재 진행하고 있는 상태가 저장되지 않아  작성하고 있는 내용이 초기화 될 수 있다.
  • 사용자가 앱을 사용하지 않는 경우에도 시스템 리소스가 소비될 수 있다.
  • 앱을 잠시 나갔다가 돌아왔을 때 사용자의 진행 상태가 저장되지 않을 수 있다.
  • 다른 앱으로 전환할 때 앱이 비정상 종료가 될 수 있다.

 

 

아래는 Activity의 생명주기에 관한 사진이다.

  • Activity는 각 생명주기에 맞게 호출해줘야 하며, 호출이 이상하게 되면 기존 액티비티는 사용자와 상호작용 할 수 없다. 
  • 생명주기에 맞지 않으면 앱이 종료되는 현상이 일어날 수 있다. 이는 경험에서 나온 것이다.

 

아래와 같이 사용하여 각 생명주기에 맞게 활동을 설정해주는 것이 좋다.

onCreate()같은 생명주기에서는 보통 초기화 작업을 진행해준다.

반응형