- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 재능이의 돈버는 일기
- StresslessLife
- K_JIN2SM
- 소소한 일상
- My Life Style & Memory a Box
- Blog's generation
- 공감 스토리
- 취객의 프로그래밍 연구실
- Love Me
- Dream Archive
- 세상에 발자취를 남기다 by kongmingu
- hanglesoul
- 카마의 IT 초행길
- 느리게.
- 미친듯이 즐겨보자..
- Joo studio
- Gonna be insane
- 악 다 날아갔어!! 갇대밋! 왓더...
- xopowo05
- 맑은공기희망운동
- 엔지니어 독립운동
- 혁준 블로그
- Simple in Complex with Simple
- 무의식이 의식을 지배한다
드럼치는 프로그래머
[안드로이드] Activity 라이프사이클 본문
안드로이드의 Acitivity도 MIDlet과 유사하게 라이프사이클(Life Cycle) 관리를 위해 다음과 같이 8개의 메소드를 제공한다.
onCreate onStart onRestart onResume
onFreeze onPause onStop onDestroy
Activity 라이프사이클을 구성하는 각각의 메소드들을 살펴보자. 라이프사이클에 히스토리 스택이 자주 언급되므로 생성된 모든 Activity의 히스토리 스택은 유지된다는 사실을 기억해야 한다.
l OnCreate()
Activity가 생성될 때 처음으로 호출되는 메소드인데, 여기에서 주로 리소스를 초기화한다.
l OnStart()
Activity가 사용자에게 보여줄 준비가 되었을 때 호출된다.
l OnResume()
Activity 스택의 맨 위에 있어서 Activityrk 사용자에게 보여지고 사용자의 입력을 처리할 수 있을 때 호출된다.
l OnPause()
포커스를 잃고 이전의 Activity가 Resume되기 전에 호출된다. OnPause()에서는 데이터의 저장, 애니메이션의 중지, CPU를 소비하는 작업 중단과 같은 일들을 수행한다.
l OnStop()
더 이상 Activity가 스택의 최상위에 있지 않으므로 Activity가 사용자에게 보여지지 않는다.
l OnDestroy()
OnDestroy() 메소드가 호출되면 시스템에 Activity가 존재하지 않는다.
그림) 에서 Activityrk 시작되고 실행중일 때 다른 Activity가 시작되면 그때까지 실행되던 Activity는 pause 상태로 전환되어야 한다. Pause 상태로 존재하다가 다른 애플리케이션에서 메모리를 많이 요구하면 pause 상태에 있던 Activity는 죽을(killed) 수도 있다.
만약 pause 상태에 있던 Activity를 사용자가 선택해서 다시 포그라운드로 되돌아가면 resume 상태가 된다. 또 pause 상태에 있던 Activity가 더 이상 보이지 않으면 stop 상태로 전환된다. stop 상태에 있던 Activity가 다시 포그라운드로 되면 restart에 의해 start 상태로 돌아간다. 물론 stop 상태에 있던 Activity도 다른 애플리케이션이 메모리를 요구할 때 죽을 수도 있고, destroy 상태로 전환될 수 있다. 이와 같이 한 Activity가 시작되다가 멈추고, 다시 시작되다가 결국은 죽는 과정이 마치 라이프 사이클과 같다고해서 ‘Activity 라이플사이클’이라고 한다.
'★─Programing > ☆─Android' 카테고리의 다른 글
[안드로이드] 안드로이드 app(*.apk, *.zip)을 에뮬레이터에 설치하기 (0) | 2010.05.11 |
---|---|
[안드로이드] 안드로이드 에뮬레이터 단축키(Key Assignment) / 화면방향 전환, 홈, 메뉴 ... (0) | 2010.05.11 |
[안드로이드] 액티비티(Activity) 관련 클래스 (0) | 2009.11.27 |
[안드로이드] Activity 생성 Method의 의미 ( 안드로이드 기본 Application ) (0) | 2009.11.09 |
[안드로이드] Google Plugin for Eclipse 3.5 (Galileo) 이클립스 3.5 용 구글 플러그인 (0) | 2009.11.03 |