[Android Compose] Foreground Service 중첩 현상 트러블 슈팅

: ) YOUNG·2024년 7월 26일
1

안드로이드

목록 보기
30/30
post-thumbnail
post-custom-banner

Foreground Service 중첩 현상 트러블 슈팅


문제

EventBus로 Foreground Service로 Location 정보를 수집하는 과정에서
화면을 나왔다가 들어갈때 마다 계속 EventBus가 중첩되면서 늘어나는 현상 발생


원인

처음에는 EventBus의 EventBus.getDefault().unregister(reg)가 제대로 호출되지 않는 문제인줄 알았음

근데 코드는 거짓말을 하지 않는다고, Log를 찍어보면 분명 EventBus.getDefault().unregister(reg)는 제대로 동작하고 있었음에도 혼자 의심하고 있었음

그래서 결국 다른 원인을 찾아보니. Service에서 Location 정보를 받아오는 fusedLocationProviderClient가 문제였음


해결

ServiceonDestroy() 될 때

fusedLocationProviderClient.removeLocationUpdates(locationCallback) 를 호출해서 위치 정보 호출도 중단해야됨


    override fun onDestroy() {
        fusedLocationProviderClient.removeLocationUpdates(locationCallback)
        super.onDestroy()
    }



post-custom-banner

0개의 댓글