gpt4 book ai didi

java - 我需要完美配对 bindService/unbindService 调用吗?

转载 作者:太空宇宙 更新时间:2023-11-03 11:25:02 25 4
gpt4 key购买 nike

从所有代码示例来看,如果我们调用了#bindService,我们只想调用#unbindService(在同一上下文中),这是通过 boolean 检查完成的。

但是在#bindService 调用中没有类似的检查——即我们不检查我们是否已经首先绑定(bind)以避免“双重绑定(bind)”。

所以我的问题——

  1. 如果我多次绑定(bind)一个服务但只解除绑定(bind)一次,“会不会有坏事发生”,或者只有绑定(bind)一次然后解除绑定(bind)多次才不好?这种不对称对我来说似乎很奇怪,但想看看是否有人知道答案。我现在自己正在玩它,试图弄清楚,但更喜欢来自更有经验的开发人员的“官方”答案。
  2. 什么是“绑定(bind)”和“未绑定(bind)”操作——我只是简单地调用了#bind(或#unbind)API,并且这些调用必须配对,还是必须配对的#onServiceConnected/Disconnected 回调指示的绑定(bind)/未绑定(bind)状态?谷歌自己的例子似乎表明前者是真实的,有人可以证实吗?如果前者为真,那么最后一个更微妙的问题是:如果#bindService 返回 false,即 android 甚至不会尝试连接,因为它无法解析服务,在这种情况下调用#unbindService 是否安全?

谢谢。

最佳答案

我怀疑 Android 是否允许多次绑定(bind)到同一服务,但这没有任何意义。

您绑定(bind)到服务并获得一个 Messenger 对象。下次检查时,如果 messenger 为空。如果不是,则无需再次绑定(bind)。一旦您的 Activity 结束并且信使不为空,您就解除绑定(bind)。

详情为here .

关于java - 我需要完美配对 bindService/unbindService 调用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28053099/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com