Android/기본스킬 | Posted by 덩치 2014. 1. 27. 14:46

안드로이드 생명주기

펌 OK (출처 표시), 상업적 이용 NO, 컨텐츠 변경 NO


안드로이드도 다른 프로세스와 마찬가지로 태어나고 죽기까지의 생명주기(life cycle)가 존재합니다.

위 다이어그램은 액티비티가 생성되고 죽기까지의 과정을 순서적으로 나타낸것입니다.


우선 액티비티에 대해 설명하자면, 액티비티는 단말 화면상으로 보이는 뷰(View) 즉 화면을 뜻합니다.

액티비티 위에는 다른 뷰들이 올라가게 되고, 그런 뷰들로 화면이 구성됩니다. 즉 액티비티는 도화지, 뷰(버튼,텍스트 등)는

그림이라고 생각하시면 이해하기 편합니다.


위 그림을 해석해 보면


onCreate - 액티비티가 시작되면 제일 먼저 onCreate()가 호출됩니다.

이 영역에서 어플이 켜짐과 동시에 실행되어야 하는 작업들을 실행하게 됩니다.

어플 최초 실행시의 로딩화면 등을 예로 들 수 있겠습니다.


onStart() - onCreate가 호출 된 후 바로 실행됩니다. 

(onCreate에 의해 실행되는것은 아닙니다. 모든 생명주기는 독립적입니다.)


onPause() - 다른 액티비티가 기존 액티비티 위에 생성되어 포커스를 잃은상태. 

반투명 또는 일부영역만 차지하는 액티비티가 호출 된 상태로, 액티비티의 일부가 화면상에 노출되고있는 상태입니다.


onReasure() - Pause상태에서 다시 액티비티가 활성화되면 호출됩니다.


onStop() - 액티비티가 가려지거나 숨겨졌을 때 호출됩니다. 

일반적으로 홈키를 눌렀을때 어플의 상태를 생각하시면 됩니다.


onRestart() - stop상태에서 다시 액티비티가 실행되면 호출됩니다.


onDeastroy() - 메모리상에서 액티비티의 자원이 완전 해제될 때 호출됩니다.

즉 어플을 종료할 때 사용됩니다. 어플 종료시 자원의 해제와 같은 기능을 여기에서 주로 실행하게 됩니다.