티스토리 뷰

Locaiton Service나 onClick에 대한 Listener  (예: LocationCallback with FusedLocationProviderClient 또는 LocationListener with LocaitonManager)는 전통적인 의미에서 별도의 스레드, 서비스 또는 인터럽트로 작동하지 않는다. 위치 업데이트를 처리하기 위해 별도의 스레드가 필요한 경우 (예: 무거운 연산을 윟) Thread, HandlerThread 또는 ExecutorService 를 사용해 명시적으로 생성하고 관리해야 한다. 작동 방식을 아래와 같다.

 

  1. Listener Mechanism
    1. Callback-Based
      : LocationCallback 또는 LocationListener와 같은 Listener는 콜백 메커니즘이다. 시스템은 지정된 이벤트가 발생할 때 (예: 새 위치 업데이트를 사용할 수 있는 경우) 이러한 콜백을 호출한다.
    2. Not a Seperate Thread
      : 이러한 Listener는 자체적으로 별도의 스레드를 만들지 않는다. 콜백은 별도로 지정하지 않는 한 콜백을 등록하는 동일한 스레드 (일반적으로 기본 UI 스레드)에서 실행된다.
    3. Thread-Safe Invocation
      : 필요한 경우 무거운 처리를 백그라운드 스레드로 오프로드 할 수 있지만 기본적으로 location callbacks은 등록한 스레드에서 실행된다.
  2. Location Service Behavior
    1. Not a Service
      : location system service (안드로이드 시스템 서비스의 일부)는 위치 업데이트를 제공하지만 Listener 또는 Callback을 등록한다고 해서 별도의 안드로이드 Service 가 생성되는 것은 아니다. 기존 시스템 서비스에서 업데이트를 수신하는 방법일 뿐이다.
    2. System-Level Service
      : 기본 위치 서비스는 안드로이드 시스템의 일부로 실행된다. FusedLocationProvdierClient를 사용하면 위치 소스 (GPS, Wi-Fi, Cellular) 를 관리하는 이 시스템 수준 서비스와 상호 작용하게 된다.
  3. Interrupt-Like Behavior
    1. Event-Driven, Not Interrupts
      : Listener는 이벤트 (예: 위치 수신) 에 응답하지만 하드웨어 또는 소프트웨어 인터럽트가 아니다. 대신 안드로이드 이벤트 루프와 콜백 메커니즘에 의존해 위치 변경이 발생하면 앱에 알린다.
    2. Asynchronous Notifications
      : 위치 수신기는 비동기적으로 알림을 받으므로 메인 스레드를 차단하지 않으며 수신 중인 이벤트가 발생할 때만 호출한다.
  4. Example of How Location Listeners Work
    : LocationCallback 또는 LocationListener 를 등록하면 안드로이드 프레임워크는 사용자가 제공한 기준 (예: 업데이트 간격, 우선 순위)에 따라 위치 변경을 모니터링 한다. 새 위치가 감지되면
    1. 시스템이 Listener를 트리거한다.
    2. Listener의 콜백 메서드 (예: onLocationResult() 또는 onLocationChanged()) 가 호출된다.
  5. Summary
    1. Not a Thread
      : Location Listeners는 별도의 스레드로 실행되지 않고 등록 스레드에서 호출되는 콜백을 사용한다.
    2. Not a Service
      : 시스템의 위치 서비스에 의존하지만 그 자체는 서비스가 아니다.
    3. Not an Interrupt
      : 이벤트 기반이며 시스템에서 감지된 변경 사항에 비동기적으로 응답한다.
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함
반응형