Tuesday, December 15, 2009

서비스(Service)

서비스는 한 어플리케이션 내의 보이지 않는 작업이라보면 됩니다. 보이지 않는 관계로 스트린 레이아웃을 붙여줄 필요가 없습니다. 보이지 않는 상태로 실행되면서 데이터입출력에 관련된 작업을 수행하고 수행결과 신호 (Notification) 을 줍니다.

서비스도 나름대로의 Life cycle 을 가집니다. OnCreate - OnStart - OnDestroy 로 이어지는것이 기본 흐름인데 한번 시작된 서비스는 onStart 의 내용이 끝난후 바로 onDestroy 로 가는것이 아니라, 다음실행을 위해 대기상태로 들어갑니다. 프로세스가 계속 살아있는것이죠. 그리고, 프로세스가 살아있는 한은 다시 onCreate 으로 들어가지 않고, 서비스를 외부에서 실행시키면 onStart 의 단계로 바로 들어가게 됩니다. 하지만 시스템에 리소스가 모자라면 OS 가 그 프로세스를 죽이게 됩니다. 이때 onDestroy 가 작동되고, 이 서비스가 다시 시작하는 시점에는 onCreate 가 작동됩니다.

서비스의 시작은 일반적으로 startService() 를 사용하며, 종료에는 stopService() 가 사용됩니다.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.