【发布时间】:2010-11-01 14:11:50
【问题描述】:
我在搞乱 Android 服务,我发现当我绑定到服务时,ServiceConnection.onServiceConnected() 会被相当可预测地调用。
但是,我的 onServiceDisconnected() 方法似乎永远不会被调用,即使在 VM 死机之后也是如此。
我已经在服务上记录了调试消息,并显示所有线程都已关闭,等等。我知道服务是作为进程实现的;是否有我不知道的线程阻止进程退出?
【问题讨论】:
我在搞乱 Android 服务,我发现当我绑定到服务时,ServiceConnection.onServiceConnected() 会被相当可预测地调用。
但是,我的 onServiceDisconnected() 方法似乎永远不会被调用,即使在 VM 死机之后也是如此。
我已经在服务上记录了调试消息,并显示所有线程都已关闭,等等。我知道服务是作为进程实现的;是否有我不知道的线程阻止进程退出?
【问题讨论】:
它发生在远程服务崩溃时。因此,如果在与您的客户端不同的进程中运行的服务因某些异常而失败,您将失去连接并获得回调。
【讨论】:
unbindService() 并且服务退出时,我希望它会被调用,因为没有更多的客户端。