多次绑定同一个 IntentService 会创建一个请求队列吗?

Do binding a same IntentService many times will create a queue of request?

我有一个 class LocationProvider 扩展 Service。这个 LocationProvider class 内部有一个 LocationListener,它可以检测位置坐标并启动 IntentService,以便提供一个进程队列来将位置坐标发送到 GCM (Google Cloud Messaging)。我可以通过调用 startService()bindService() 来启动 IntentService。但我选择使用 bindService(),因为我喜欢预料到当 LocationProvider 被销毁时,IntentService 及其所有队列也会停止的情况。我的问题是,多次绑定同一个 IntentService 也可以创建队列吗?为此,我在重新启动时提出了一个 intentservice,其中一个一个地向 gcm 发送位置。

使用 IntentService,所有请求都在单个工作线程上处理,但一次只会处理一个请求。

因此,当许多客户端 "bind" 到 IntentService 时,所有这些请求都在单个工作线程上处理。因此,工作线程可能需要尽可能多的时间来处理队列中的这些请求。

当然,这是 IntentService(和工作线程)机制,它不会阻塞应用程序的主循环,这总是可取的。

IntentService 确保传送给它的请求自动排队,因此如果后台线程正在处理一个请求,其他命令会排队等待轮到它们。