안녕하세요
회사에서 안드로이드를 맨 처음 개발할 때 안드로이드 생명주기 개념에 대해서 전혀 모르는 상태에서 개발을 시작했는데요...
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()는 생명주기가 종료된다고 보시면 됩니다.
그래서 어지간하면 쓸 일이 없는 콜백 함수라고 보면 됩니다...
여기까지 안드로이드 생명 주기에 대해서 알아봤습니다
안드로이드 개발은 쪼오금 해봤지만 생명 주기 개념을 정리하면서 약간 더 지식이 늘은듯한 느낌이네여 ㅎ
안드로이드 개발을 시작하는 분들이라면 생명주기 관련해서 검색할 일이 많을 텐데 제 포스팅이 도움이 되었으면 좋겠습니다!
'프로그래밍 > 안드로이드' 카테고리의 다른 글
[Android Studio] 로컬DB 사용법(SQLiteOpenHelper, DBHelper) (0) | 2021.07.11 |
---|---|
[Android Studio] 브로드캐스트리시버(BroadCastReceiver)의 개념 및 사용예제 (0) | 2021.06.20 |
[Android Studio] 토스트(Toast) 사용법 (1) | 2021.05.15 |
[Android Studio] 메인 메뉴가 사라진 경우 복구하기 (0) | 2021.05.15 |
[Android Studio] 카메라로 찍은 사진 이미지뷰에 넣기 (4) | 2021.05.15 |