onBind()方法的“bind”操作与调用onStartCommand()有何不同?

onStartCommand()

当另一个组件(如活动)通过调用startService()请求启动服务时,系统调用此方法。
onBind()

当另一个组件希望与服务绑定(例如执行rpc)时,系统通过调用bindService()来调用此方法。
我想写一个聊天客户端服务,接收来自多个用户的消息。哪个功能更合适?

最佳答案

第一个(onStartCommand())在您的Service开始工作时调用。onCreate()已经完成,准备开始做需要做的事情。
第二个(onBind())在另一个线程注册以连接到服务以便它们可以通信时调用。您可以在这里配置或设置通信方式,例如接口验证或调用注册活动。
绑定允许您将服务绑定到活动的生命周期。如果活动完成,则允许释放服务,并且服务本身可以完成。只要还有东西绑在上面,这项服务就会持续下去。

08-18 06:13