我的IntentService
中有以下代码,用于向注册客户端发送Message
:
for(Messenger client : clients) {
client.send(aMessage);
}
根据send()
的文档,该方法可以专门抛出一个RemoteException
,一个DeadObjectException
。
摘自DeadObjectException
的文档:
您正在调用的对象已经死亡,因为它的托管进程没有不再存在了。
如果我理解正确,这意味着如果我的客户端都来自Service
的进程,(理论上)这个Exception
将永远不会抛出
我说的对吗?
是
但重要的是要注意Messenger
的全部目的是与官方文档中提到的不同进程进行通信:
如果你需要你的服务与远程进程通信,那么你可以使用Messenger。
如果您需要在同一进程中与您的服务通信,我建议使用本地绑定服务