[안드로이드] 안드로이드 LifeCycle에 맞게 개발하자

Words
211
Reading
1 min
Listen
Play
9y

안녕하세요!! wonnieyoon@wonnieyoon입니다.
안드로이드의 화면을 Activity라고 합니다.
우리가 보는 Activity는 보시는 그림처럼 여러 메소드를 통해서 보여지게 됩니다.
사용하시는 여러분들의 입장에서는 하나의 어플이 단순히 보일지 몰라도 개발자들은 Life cycle의 생명주기를 잘 맞춰서 코딩을 해야합니다.
만약 Life Cycle에 맞지 않게 코딩을 한다면 나중에 결국 사소한 것에 오류가 생기고 데이터가 없어지고 갑자기 화면이 종료될것입니다.

onCreate는
액티비티가 처음 생성되었을때 한번만 호출됩니다.
UI 셋팅에 관련된 코드를 사용합니다(즉, UI 자원 할당)
UI라는것은 쉽게 말해 버튼 같은것들을 말합니다.

onStart는
액티비티가 사용자에게 표시되기 직전에 호출되고
UI이외의 자원을 할당할때 주로 사용합니다.

onResume은
사용자와 상호 작용하기 직전에 호출됩니다.
즉, 우리가 보는 화면은 결국 onResume에서 대부분의 로직을 만들고 구성합니다.

onRestart는
말 그래로 다시 시작하는 경우에 호출됩니다.
즉,앱을 종료하지 않은 상태에서 홈 버튼을 눌렀다가 다시 앱을 실행시킬때 사용되는 메소드입니다.
onRestart->onStart->onResume의 상태를 보여줍니다.

onPause는
시스템이 다른 액티비티를 재개하기 직전에 호출되는데
onCreate부터 onPause까지는 무조건 호출이 보장되기 때문에 데이터 저장하는 부분을
대부분 여기서 하게 됩니다.

onStop은
액티비티가 더 이상 사용자에게 표시되지 않으면 호출되게 되는데
주로 UI 이외의 자원을 해제할때 사용합니다.
크게 중요하지 않은 데이터도 저장할때 사용하긴 하지만 실행이 보장되지 않기 때문에
잘 판단하여 사용해야 합니다.

onDestroy는
액티비티가 소멸되기 전에 호출되게 됩니다.

이렇게 적절한 메소드에 코드를 잘 사용해서 넣으면 앱이 유연하게 잘 넘어가지만
한번씩 어떤 앱들은 갑자기 종료하거나 데이터가 다 날라가는 경우가 있을텐데
그러한 경우의 대부분은 안드로이드의 LifeCycle에 맞지 않게 코딩한 경우입니다.

혹시 틀린 부분이 있다면 댓글로 남겨주세요~

[안드로이드] 안드로이드 LifeCycle에 맞게 개발하자 | Ecency