我有一个主要活动和绑定服务。绑定的服务接收到来自网络的命令,该命令会触发向主活动中的 Handler 发送消息。通过将处理程序的引用传递给服务,我得到了一切工作。然后......我偶然发现了这个叫做Messenger的东西。
Messenger:对 Handler 的引用,其他人可以使用它向它发送消息。这允许跨进程实现基于消息的通信,方法是在一个进程中创建一个指向 Handler 的 Messenger,并将该 Messenger 交给另一个进程。
这启发了几个问题:
- 流程一词是否意味着我不需要使用 Messenger,除非我根据流程和线程 指南生成单独的流程?
- 使用 Messenger 总是好的习惯吗?
- 传递对 Handler 的引用通常是个坏主意吗?