问题描述
||
我们已经在Android中使用Service和IntentServices进行了一些测试。据我们了解,IntentService的好处之一是它拥有自己的线程和工作者队列...
经过测试,我们注意到,如果您向这两个服务都发送了100个意图,它们将都按顺序开始执行...
从IntentService的工作人员队列来看,这多少有些可料,但是Android对非多线程Service的多个请求的行为如何?原因似乎也有某种底层的工作人员队列?还是Android系统本身保留的某种Intents队列?
如果是这样,是否有任何方法可以附加到它,例如查看它的长度/大小?
解决方法
但是Android对非多线程服务的几个请求的行为如何?
像对任何GUI操作(例如
setText()
)的调用,对startActivity()
的调用等一样,对to0ѭ的调用在发送者的主应用程序线程的消息队列中排队。
IntentService
在服务本身内部有第二个队列,供接收的Intents
由后台线程处理。