我想从网上下载一个IntentService
。我通过呼叫startService(intentserive);
通过Intent
到IntentService
网址。IntentService多次调用startService时是否意图进入队列?
如果我为各种意图调用startService
,那么这些意向是否会排队等待下载?
我想从网上下载一个IntentService
。我通过呼叫startService(intentserive);
通过Intent
到IntentService
网址。IntentService多次调用startService时是否意图进入队列?
如果我为各种意图调用startService
,那么这些意向是否会排队等待下载?
你的问题的简短答案是YES。来自文档:
IntentService是服务的基类,用于按需处理异步 请求(表示为Intents)。客户通过startService(Intent)调用发送请求 ;该服务根据需要启动, 依次使用工作线程处理每个Intent,并在其用完时停止其自身 。
此“工作队列处理器”模式通常用于从应用程序的主线程卸载任务 。 IntentService类存在到 简化了这种模式并照顾了机制。要使用它, 扩展IntentService并实现onHandleIntent(意图)。 IntentService将收到意图,启动工作线程,并且 根据需要停止该服务。
所有请求都在单个工作线程上处理 - 它们可能需要多长时间(并且不会阻止应用程序的主循环),但是一次只能处理一个请求。
是。意向服务将所有工作意图排队,并在单个工作线程中逐个处理它们。