我正在尝试确定绑定(bind)服务和启动服务之间的主要概念(而非实现)差异。以下是要点:
绑定(bind)服务允许在 Activity 和服务之间扩展双向通信,而启动的服务不需要向客户端 Activity 返回任何结果
绑定(bind)服务将为多个客户端提供服务(只要至少有一个客户端绑定(bind)到它),而启动的服务执行单个操作然后关闭。 (我知道可以启动也绑定(bind)的服务)
还有其他主要区别吗?
最佳答案
服务是在后台运行的组件,用于执行长时间运行的操作而无需与用户交互。例如,当用户在不同的应用程序中时,服务可能会在后台播放音乐,或者它可能会通过网络获取数据而不会阻止用户与 Activity 的交互。一个服务基本上可以有两种状态:
Started :当应用程序组件(例如 Activity )通过调用 startService() 启动它时,服务即启动。一旦启动,服务可以无限期地在后台运行,即使启动它的组件已被销毁。
绑定(bind):当应用程序组件通过调用 bindService() 绑定(bind)到服务时,服务就绑定(bind)了。绑定(bind)服务提供客户端-服务器接口(interface),允许组件与服务交互、发送请求、获取结果,甚至通过进程间通信 (IPC) 跨进程执行此操作。
关于Android:绑定(bind)服务和启动服务的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30408803/