Android Activity 의 lifecycle

Activity 의 상태에 대한 이해하기 쉬운 그림이다. (구글 이미지 검색으로 퍼왔음)
Activity의 상태는 Foreground, Background, 그리고 일부분만보이는 Foreground 상태 3가지가 있다.

Foregorund 상태는 onStart() 이후부터 onStop() 사이이다.
이중 onResume()과 onPause() 사의 상태가 실제로 사용자의 입력을 받을수 있는 Foreground상태이고,

onStart()이후와 onStop()이전은 일부분만보이는Foreground상태(실제로 일부분이 보이거나, 보이지 않을수 있음. 非foreground 상태라고 함)이다.
경고를 표시할때 등, 다이얼로그 박스가 화면에 뿌려지면 非Foreground상태이다.

Background상태는 화면에 보이지 않는다. 보통 onCreate()에서 보통 자원 획득과 초기화를 수행하고, onDestroy()에서 자원을 정리/반납한다. 그래서, 앱을 실행할때 화면에 바로 뜨지 않거나, 종료후에도 실행되는 경우를 볼 수 있다.

Activity의 state가 바뀔때마다 해당 메소드를 override 함으로써, 상태변화때 적절한 행동을 할수 있다. 보통 onResume()을 override할때 화면을 다시 그려주고 , pause상태에서는 메모리가 모자랄경우 해당 앱을 죽어버리므로 onPause() 메소드에 상태를 저장하는 코드를 작성한다.

댓글

이 블로그의 인기 게시물

C#에서 포인터 사용

WPF RichTextBox 와 Document의 바인딩

WPF Template에 Grid 사용하기( UniformGrid, Grid, WrapPanel)