【发布时间】:2015-04-08 05:40:40
【问题描述】:
我想使用IntentService 从互联网下载。我通过调用startService(intentserive); 将一个url 通过Intent 传递给IntentService。
如果我为各种意图调用 startService,这些意图会排队等待下载吗?
【问题讨论】:
标签: android android-intentservice
我想使用IntentService 从互联网下载。我通过调用startService(intentserive); 将一个url 通过Intent 传递给IntentService。
如果我为各种意图调用 startService,这些意图会排队等待下载吗?
【问题讨论】:
标签: android android-intentservice
您的问题的简短回答是“是”。来自文档:
IntentService 是处理异步的服务的基类 按需请求(表示为意图)。客户端发送请求 通过 startService(Intent) 调用;服务根据需要启动, 使用工作线程依次处理每个 Intent,并自行停止 当它耗尽工作时。
这种“工作队列处理器”模式通常用于卸载任务 从应用程序的主线程。 IntentService 类的存在是为了 简化此模式并注意机制。要使用它, 扩展 IntentService 并实现 onHandleIntent(Intent)。 IntentService 将接收 Intent,启动一个工作线程,然后 酌情停止服务。
所有请求都在单个工作线程上处理——它们可能被视为 只要有必要(并且不会阻塞应用程序的主循环), 但一次只会处理一个请求。
【讨论】:
是的。 Intent 服务将所有工作 Intent 排队并在单个工作线程中一一处理。
【讨论】: