반응형
안녕하세요 돼지왕 왕돼지입니다.
오늘은 안드로이드 기본 Component 중 하나인 Service 의 생명주기에 대해 알아보겠습니다.
Service가 무슨 생명 주기가 있냐구요?
함께 보시면 아, Activity 와는 다른 생명주기가 있구나, 하고 아실 수 있으실 겁니다.
- 서비스가 실행 중이 아니라면 안드로이드가 서비스를 실행 한 후 그 서비스의 onCreate() 와 onStartCommand()를 차례로 호출.
- 서비스가 실행 중이었다면 onStartCommand()만 호출된다.
- 서비스는 액티비티가 없기 때문에 onResume(), onPause(), onStop() 는 호출되지 않는다.
- onBind() 는 Context.bindService() 를 통해서 호출된다.
이 때 서비스가 실행중이 아니라면 서비스가 생성되면서 onCreate() 호출되고, onStartCommand()는 호출되지 않는다.
서비스가 실행 중이었다면 onBind() 외에 아무것도 불리지 않는다.
보통 onBind() 에서는 IBind 오브젝트를 return 해주고, 클라이언트가 이 IBind 오브젝트를 통해 서비스에 정의된 function들을 호출한다
보통 onBind() 에서는 IBind 오브젝트를 return 해주고, 클라이언트가 이 IBind 오브젝트를 통해 서비스에 정의된 function들을 호출한다
- onDestroy() 는 보통과 마찬가지로 서비스가 제거되기 직전에 호출된다.
참고로, Service도 Activity처럼 메모리가 부족할 때 강제 종료된다.
따라서, 서비스가 재시작할 때 필요한 정보가 있다면 onDestory() 에 저장해야 한다.
로그인 없이 추천 가능합니다. 손가락 꾸욱~
반응형
'프로그래밍 놀이터 > 안드로이드, Java' 카테고리의 다른 글
[Android/안드로이드] Service 를 이용한 App Widget Update (0) | 2012.02.16 |
---|---|
[Android/안드로이드] AppWidget Sample Code ( Example ). (0) | 2012.02.15 |
[Android/안드로이드] Traceview 에 대해 알아보자. ( Profilinig ) (0) | 2012.02.15 |
[Android/안드로이드] Emulator의 /system/app 폴더에 apk 올리기. (0) | 2012.02.15 |
[Android/안드로이드] OpenGL 로 삼각형 그리기 (0) | 2012.02.15 |
댓글