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. 오레오 버전부터 백그라운드 서비스에 제한이 생김(배터리 소모의 이유로)