Android
[Android] Service(서비스)
mSubWay
2020. 7. 8. 15:59
/**참고 서적 : http://www.yes24.com/Product/Goods/67883812 **/
// 해당 서적을 참고하여 작성됨
1. 앱이 종료되어도 화면이 꺼질 때의 브로드캐스트 메시지를 수신하기 위함
2. UI 없이 백그라운드에서 실행되는 컴포넌트
- 백그라운드에서 수행할 작업을 시스템(=디바이스)에 알리는것
- Context.startService() 함수로 서비스를 시작하면 시스템에 서비스 작업을 예약하게됨. 이렇게 실행된 서비스는 명시적으로 서비스를 중지할 때 까지 계속 실행된다.
- bindService() 함수를 사용해 서비스가 제공하는 함수를 다른 앱들도 사용할 수 있게 제공할 수도 있다.
3. 서비스는 별도로 다른 프로세스로 지정하지 않는다면 별도의 프로세스가 아니다. (=앱과 동일한 프로세스에서 실행될 수 있다.)
4. 서비스는 쓰레드와는 다르다. 서비스에서 별도로 쓰레드를 생성하여 작업을 하지 않으면, 앱의 메인 쓰레드에서 작업이 수행된다.
5. 오레오 버전부터 백그라운드 서비스에 제한이 생김(배터리 소모의 이유로)