Service(서비스)

다용도리모콘·2020년 3월 23일
0

Wiki - Android

목록 보기
1/4

Service(서비스)와 Thread

  • Service는 기본적으로 Main Thread에서 실행 된다. Service를 Background에서 실행하려면 별도의 Thread들 생성해야 한다. IntentService의 경우 별도의 Worker Thread를 알아서 생성해 준다.

IntentService(인텐트서비스)

  • Worker Thread를 사용하여 모든 시작 요청을 처리하되 한 번에 하나씩 처리한다(Queue). onHandleIntent()에 작업할 내용을 구현한다. 작업이 끝나면 알아서 종료 된다.

startService와 bindService

  • startService를 사용할 경우 구성 요소(예 : Activity)에서 Service 내부 요소에 접근할 수 없다. bindService의 경우 구성요소를 Service에 binding하기 때문에 Service 내부 요소에 접근할 수 있다.
  • 한번에 둘 중 하나만 사용해야 하는 것은 아니다. startService를 한 이후 bindService를 통해 해당 구성 요소에 Service를 binding 할 수 있다. 이 경우 stopService를 사용해도 binding된 구성요소가 있다면 Service는 종료되지 않으며 모든 구성요소가 unbinding을 진행한 후 종료 된다.

0개의 댓글