loading

프로그래밍/안드로이드

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

침착곰 2021. 6. 20. 17:58
반응형

안녕하세요

회사에서 안드로이드를 맨 처음 개발할 때 안드로이드 생명주기 개념에 대해서 전혀 모르는 상태에서 개발을 시작했는데요...

onCreate(), onResume(), onStart() 메서드가 나올 때마다 이건 왜 쓰는 거지????

의문을 가지면서 개발을 했던 것이 생각이 나네요 ㅠ

이번 포스팅에서는 안드로이드 생명주기에 대해서 정리해보겠습니다

 


안드로이드 생명 주기란?

위의 그림을 참고 바랍니다

안드로이드 생명 주기는 단계 간 전환을 위한 활성 클래스는 onCreate(), onStart(), onResume(), onPause(), onStop(), onDestroy()의 6개의 핵심 콜백을 제공합니다. 액티비티가 새로운 상태에 들어가면 시스템은 각 콜백을 호출합니다.

 

onCreate()

 프로그램 Activity가 생성할 때 실행되는 것으로, 필수적으로 필요한 콜백입니다. Activity가 생성되면 동작합니다. 안드로이드 전체 생명 주기에서 단 한 번만 실행이 됩니다

 

onStart()

 onCreate(), onRestart() 이후에 Activity가 시작되면 이 콜백을 호출합니다. 프로그램의 ForeGround와 상호작용을 할 수 있습니다. 사용자에게 보이기 직전에 실행되는 콜백입니다!

 

onResume()

 Activity가 재개된 상태에 들어가면 ForeGround에 표시가 되고 onResume() 콜백을 호출합니다. 어떤 이벤트가 발생하여 앱에서 포커스가 떠날 때까지 이 상태에 머무릅니다.

포커스가 떠나는 상태라면 예를 들어 전화가 오거나, 사용자가 다른 활동으로 이동하는 등 상태에서 Resume() 콜백을 호출해줍니다. 포커스가 떠난 후 다시 돌아오면 onResume() 콜백을 다시 호출합니다

 

onPause()

 Activity가 어떤 이벤트가 발생하여 앱에서 포커스가 떠날 때 콜백을 호출합니다

onResume()과 onPause()는 한 묶음으로 보시면 편합니다

 

onStop()

 Activity가 더 이상 사용자에게 표시가 되지 않으면 중단상태로 들어갑니다. 그때 onStop() 콜백을 호출합니다

예를 들어서 새로 시작된 앱이 화면 전체를 차지하는 경우에 onStop() 콜백을 호출합니다. onStop()은 주로 리소스를 해제하거나 조정해야 할 때 주로 사용됩니다

onStop() 상태로 들어갔다가 활동이 다시 시작되면 onRestart() 콜백을 호출해줍니다

 

onDestroy()

  Activity가 소멸할 때 불러오는 콜백입니다. onDestory()는 생명주기가 종료된다고 보시면 됩니다.

그래서 어지간하면 쓸 일이 없는 콜백 함수라고 보면 됩니다...

 

여기까지 안드로이드 생명 주기에 대해서 알아봤습니다

안드로이드 개발은 쪼오금 해봤지만 생명 주기 개념을 정리하면서 약간 더 지식이 늘은듯한 느낌이네여 ㅎ

안드로이드 개발을 시작하는 분들이라면 생명주기 관련해서 검색할 일이 많을 텐데 제 포스팅이 도움이 되었으면 좋겠습니다!

반응형
그리드형