
225
11
장
-
서비스
즉, 지역 프로세스에서 실행하는 장점은 다음과 같다.
●
IPC
대신 공유된 자바 객체를 통해 더 쉽고 빠르게 통신
●
클라이언트 스레드로부터 서비스 태스크 실행을 제어
●
적은 메모리 소비
지역 서비스가 일반적으로 선호되고 만족스럽더라도, 원격 실행을 위한 호출에는 요구사항이 있
다. 일반적으로
GPS
또는 음악 서비스처럼 여러 응용프로그램이 다른 응용프로그램 사이에서
충분히 공유될 수 있는 독립된 동일한 기능을 필요로 한다는 것이다. 원격 실행의 또 다른 장점
은 서비스를 중지하는 에러가 원격 프로세스에 포함되고, 클라이언트 구성요소에 의해 실행되는
프로세스에는 영향을 미치지 않는다는 것이다.
11.3
생성과 실행
서비스는
Service
클래스의 확장으로 정의되고, 안드로이드 매니페스트에 반드시 정의되어야
한다.
<
name
>
속성은 응용프로그램에서
Service
를 확장한 구현 클래스를 가리키는 정규화된 전
체 클래스 이름을 포함한다.
1
<
service
android
:
name
=
"
com
.
wifill
.
eat
.
EatService
"/>
기본적으로 서비스 구성요소는 서비스를 정의하고 프로세스에서 모든 다른 구성요소와 동일한
UI
스레드를 공유하는 응용프로그램 프로세스에서 지역적으로 실행한다. 그러나 모든 안드로이
드 구성요소와 마찬가지로, 서