안드로이드 앱개발

안드로이드 서비스

팀(Tim) 2020. 11. 20. 16:10

서비스란?

앱이 내려가있어도 실행할 프로그램.

서비스는 실행되면 명시적으로 멈춰줘야한다. 안그러면 계속 돌아간다. (바인드 서비스가 아닌이상)

 

포그라운드 서비스, 백그라운드 서비스, 바인드 서비스

 

포그라운드 서비스 : 푸시알림 같은 것이나 뮤직앱의 뮤직플레이어. 유저에게 보이는것.
백그라운드 서비스 :  게임을 내려도 계속 돌아간다든가 하는것. 유저에게 안보이는것.
바인드 서비스 : 어플리케이션 컴포넌트가 서비스와 바인딩되어 서비스를 이용할때의 서비스. 

 

포그라운드나 백그라운드 서비스는 동시에 바인드 서비스일 수 있다.

여기서 바인딩이란, 어플리케이션 컴포넌트가 특정 서비스를 사용한다는 뜻이다. (서비스와 컴포넌트가 묶였다고 표현한다)

 

* 바인드 서비스의 경우, 바인드된 컴포넌트들이 모두 언바인드되면 자동으로 멈추고, 파괴된다.

 

공식용어는 아니지만, 서비스는 또 로컬서비스와 리모트서비스로 나뉠 수 있다. 

 

로컬서비스는 A앱이 만든 서비스를 A앱이 사용하는 경우의 서비스이고,

리모트서비스는 B앱이 만든 서비스를 A앱이 사용하는 경우의 서비스이다.

 

피피티로 간단하게 도식화해봤다.