Android ) 안드로이드 애플리케이션 서비스

Android 2014. 6. 12. 15:31 Posted by gaeddong2
  • 안드로이드 애플리케이션 서비스
애플리케이션 서비스는 안드로이드 SDK의 Service 클래스를 확장한 클래스의 인스턴스로 UI없이 주기적으로 특정한 일을 수행하는 백그라운드 프로세스를 가리킨다.

서비스 두 가지 이용 방법
서비스 시작, 종료 : 서비스를 백그라운드로 실행/ 종료
바인딩을 통한 서비스 원격 제어 : 인터페이스를 통해 서비스의 각종 기능을 제어

EX ) 미디어 플레이어 : 미디어 플레이어를 벗어나서 다른 작업을 하면서도 음악을 들으려면, 음악 재생 기능을 백그라운드로 서비스를 시작해야 한다.

또한, 음악 재생 서비스를 제어할 필요가 있다. 실행되고 있는 음악 서비스에 연결해서 해당 서비스를 제어해야 한다.

애플리케이션 서비스 분류
  • 로컬 서비스
생성된 서비스가 자신과 동일한 프로세스에서 실행되는 경우, 자신을 생성한 애플리케이션 내에서만 사용될 수 있다. 애플리케이션이 종료하면 함께 종료.
  • 리모트 서비스
자신을 생성한 액티비티와 별개의 독립적인 프로세스 위에서 동작.
메인 애플리케이션이 종료하더라도 계속 동작한다.

둘의 가장 큰 차이점은 서비스 제어를 위한 바인딩 방법이다.
로컬 서비스는 로컬 서비스의 레퍼런스만 얻으면 되지만, 리모트 서비스는 별개의 프로세스에서 동작하므로 제어하기 위해서는 IPC 메커니즘을 이용해야 한다. 


'Android' 카테고리의 다른 글

Android ) 바인더, 컨텍스트 매니저  (0) 2014.06.13
Android ) 안드로이드 시스템 서비스  (0) 2014.06.13
Android ) 안드로이드 서비스  (0) 2014.06.12
Android ) Zygote  (0) 2014.06.11
Android ) 안드로이드 NDK  (0) 2014.06.11