데브허브 | DEVHUB | [10분 테코톡] 비비의 Activity LifeCycle[10분 테코톡] 비비의 Activity LifeCycle
- Activity는 안드로이드 4대 컴포넌트 중 하나로, UI를 제공하고 앱의 진입점 역할을 합니다. 📱
- Activity LifeCycle은 Activity의 생성부터 소멸까지의 흐름을 나타내며, OnCreate, OnStart, OnResume, OnPause, OnStop, OnDestroy의 6가지 주요 콜백 함수를 가집니다. 🔄
onCreate는 초기화 작업을 수행하며 생명 주기 중 한 번만 호출되지만, UI 렌더링 지연을 막기 위해 무거운 작업은 피해야 합니다. 🏗️
onStart는 Activity가 사용자에게 표시되기 직전에 호출되며, 화면에 보이지만 상호작용은 불가능한 상태로, 데이터 갱신 등 두 번 이상 호출될 수 있는 작업에 적합합니다. 🚀
onResume은 Activity가 사용자와 상호작용하기 직전에 호출되며, 앱 재개 시 필요한 코드를 작성합니다. ▶️
onPause는 다른 Activity로 넘어갈 때 호출되며, 다음 Activity 생성 지연을 막기 위해 무거운 작업을 피해야 합니다. ⏸️
onStop은 Activity가 더 이상 사용자에게 보이지 않을 때 호출되며, UI 갱신과 같은 시각적 작업을 중단하는 데 사용됩니다. ⏹️
onRestart는 Activity가 중지된 후 다시 시작되기 직전에 호출되며, 다른 Activity에서 돌아올 때 주로 발생합니다. ↩️
onDestroy는 Activity가 소멸될 때 호출되지만, 시스템이 강제로 종료할 수 있으므로 데이터 저장 로직에는 부적합합니다. 💥
- 다른 앱 전환, 화면 회전, 투명/불투명 Activity 전환과 같은 특정 상황에서 LifeCycle을 이해하고 상태를 적절히 관리하는 것이 중요합니다. 💡
- LifeCycle을 제대로 이해하지 못하면 데이터 손실, 앱 버벅거림, UI 상태 불일치 등 예상치 못한 문제가 발생할 수 있습니다. ⚠️