서비스란?
앱이 내려가있어도 실행할 프로그램.
서비스는 실행되면 명시적으로 멈춰줘야한다. 안그러면 계속 돌아간다. (바인드 서비스가 아닌이상)
포그라운드 서비스, 백그라운드 서비스, 바인드 서비스
포그라운드 서비스 : 푸시알림 같은 것이나 뮤직앱의 뮤직플레이어. 유저에게 보이는것.
백그라운드 서비스 : 게임을 내려도 계속 돌아간다든가 하는것. 유저에게 안보이는것.
바인드 서비스 : 어플리케이션 컴포넌트가 서비스와 바인딩되어 서비스를 이용할때의 서비스.
포그라운드나 백그라운드 서비스는 동시에 바인드 서비스일 수 있다.
여기서 바인딩이란, 어플리케이션 컴포넌트가 특정 서비스를 사용한다는 뜻이다. (서비스와 컴포넌트가 묶였다고 표현한다)
* 바인드 서비스의 경우, 바인드된 컴포넌트들이 모두 언바인드되면 자동으로 멈추고, 파괴된다.
공식용어는 아니지만, 서비스는 또 로컬서비스와 리모트서비스로 나뉠 수 있다.
로컬서비스는 A앱이 만든 서비스를 A앱이 사용하는 경우의 서비스이고,
리모트서비스는 B앱이 만든 서비스를 A앱이 사용하는 경우의 서비스이다.
피피티로 간단하게 도식화해봤다.
'안드로이드 앱개발' 카테고리의 다른 글
브로드캐스트(android studio Broadcast) (0) | 2021.01.05 |
---|---|
Architecture Components(MVVM 패턴) (0) | 2020.11.20 |
카메라로 사진찍기 (0) | 2020.10.27 |
파일입출력2 : 저장소 (Android Studio Internal/External Storage) (0) | 2020.10.27 |
파일입출력 1 : 쓰고 읽기 (File I/O in Kotlin) (0) | 2020.10.27 |