我有一个 WorkerService
和一堆活动。每个Activity
人都有一个Handler
。Activites 可以通过发送Intents
到Service
withstartService
方法来启动作业。这些作业进入队列,并按顺序处理。
为了报告已完成作业的结果,我提供了Handler
包含在 Messenger 对象中的正确 Activity,并带有Intent
描述作业的 。通过这个Service
发回一些用于调用的消息Activity
。这工作得很好。
但是提供的Handlers
似乎保留在内存中,即使在相应的Activites
被销毁之后,继续处理完成消息。
- 怎么会这样?处理程序不应该与
Activity
它们所属的部分一起被销毁吗? - 这会导致内存泄漏吗?