什么时候调用ServiceConnection.onServiceDisconnected()?

seh*_*ugg 26 android android-service

我正在搞乱Android服务,而且我发现ServiceConnection.onServiceConnected()当我绑定到服务时,可以相当可预测地调用它.

但是,onServiceDisconnected()即使在VM死后,我的方法似乎永远不会被调用.

我已经在服务上记录了调试消息并显示所有线程都已关闭等等.我知道服务是作为进程实现的.是否有我不知道的线程阻止进程退出?

ref*_*log 25

它发生在远程服务崩溃时.因此,如果运行在与客户端不同的进程中的服务因某些异常而失败,则会丢失连接并获得回调.

  • 根据文档,它只发生在'意外服务解除绑定',所以是的,它只在崩溃时,而在unbindService()上没有 (3认同)
  • 它只是在崩溃吗?当我调用`unbindService()`时,我希望它被调用,并且服务退出,因为没有更多的客户端. (2认同)
  • 那么,你怎么知道你是否真的可以重新加入这项服务?或者更好,你如何重新绑定?使用新的ServiceConnection? (2认同)