반응형
Service(unbind, bind)
Unbound Service
startService()를 통해 시작된 서비스는 한번 시작되면 백그라운드에서 무한정 실행될수 있다. 서비스를 시작한 액티비티가 소멸되어도 동작한다.
그러나 이렇게 시작한 서비스는 호출한 쪽에 어떠한 결과를 반환할수 없다. 이를 Unbound Service라고 한다.
bound Service
startService() 메소드 대신 bindService() 메소드를 통해 시작되는 서비스를 서비스 바인딩 (Service Bind 혹은 Bound Service)이라 한다.
- 이 서비스는 마치 클라이언트-서버 와 같이 동작한다. 서비스가 서버 역할.
- 액티비티는 서비스에 어떠한 요청을 할수 있고, 서비스로부터 어떠한 결과를 받을수 있다.
- 프로세스간 통신에도 사용.
- 서비스 바인딩은 연결된 액티비티가 사라지면 서비스도 소멸. (즉 백그라운드에서 무한히 실행되진 않음)
- 하나의 서비스에 다수의 액티비티 연결 가능.
- 애플리케이션 안의 기능을 외부에 제공하는 경우에 많이 사용
참고(예제도 있음): https://bitsoul.tistory.com/149
반응형
'Android > Android 일반' 카테고리의 다른 글
스레드 구현방법 (Thread클래스 상속, Runnable인터페이스 구현) (0) | 2019.03.26 |
---|---|
핸들러(Handler), 루퍼(Looper), 메시지큐(Message Queue) (0) | 2019.03.26 |
AIDL(Android Interface Definition Language) (0) | 2019.03.25 |
Nought(7.0)미만 WifiManager 메모리 누수 문제 (0) | 2019.03.21 |
Intent Flag (0) | 2019.03.20 |