有关Service和IntentService之间特定“差异”的问题

时间:2011-05-26 11:19:11

标签: android service queue

我们已经在Android中对Service和IntentServices进行了一些测试。据我们所知,IntentService的一个好处是它自己的线程和工作队列...... 经过测试,我们注意到如果你向这两个服务发送了100个意图,它们都将按顺序开始执行......

由于它的工作队列,因此有点期望形成IntentService,但Android如何处理非多线程服务的多个请求?因为它似乎也有某种基础工作队列?或者也许某种由Android系统本身保存的Intents队列? 如果是这样,有没有办法附加它,例如看它的长度/大小?

1 个答案:

答案 0 :(得分:3)

  

但是Android如何处理非多线程服务的多个请求?

startService()的调用在发送方的主应用程序线程的消息队列中排队,就像调用任何GUI操作(例如setText()),调用startActivity()一样,等等。

IntentService在服务本身内有第二个队列,用于由后台线程处理的已接收Intents