저는 Worker Service
과 많은 액티비티를 가지고 있습니다. Activity
은 모두 Handler
입니다.을 startService
방법으로 Service
으로 전송하여 활동을 시작할 수 있습니다. 이러한 작업은 대기열에 들어가서 순차적으로 처리됩니다.이 활동 - 서비스 메시징 패턴으로 인해 메모리 누수가 발생합니까?
완료된 작업의 결과를보고하기 위해 작업을 설명하는 Intent
이있는 Messenger 개체로 포장 된 적절한 작업의 Handler
을 제공합니다. Service
은 이것을 통해 Activity
호출에 대한 메시지를 다시 보냅니다. 이것은 잘 작동합니다.
그러나 제공된 Activites
이 완료된 후에도 Handlers
은 메모리에 남아있는 것으로 보이며 완료 메시지를 계속 처리합니다.
- 어떻게 될 수 있습니까? 그들이 처리하는
Activity
으로 처리기를 파괴해서는 안됩니까? - 이로 인해 메모리 누수가 발생합니까?
일부 코드를 입력해야합니다. 활동에서 의도 객체를 어떻게 선언합니까? 어떻게 그들을 당신의 서비스에 전달합니까? Service가 다른 Handler에 대한 참조를 유지하는 방법은 무엇입니까? – HitOdessit