【问题标题】:Does intent go queue when calling startService for IntentService multiple times?多次调用 IntentService 的 startService 时,意图是否会排队?
【发布时间】:2015-04-08 05:40:40
【问题描述】:

我想使用IntentService 从互联网下载。我通过调用startService(intentserive); 将一个url 通过Intent 传递给IntentService

如果我为各种意图调用 startService,这些意图会排队等待下载吗?

【问题讨论】:

    标签: android android-intentservice


    【解决方案1】:

    您的问题的简短回答是“是”。来自文档:

    IntentService 是处理异步的服务的基类 按需请求(表示为意图)。客户端发送请求 通过 startService(Intent) 调用;服务根据需要启动, 使用工作线程依次处理每个 Intent,并自行停止 当它耗尽工作时。

    这种“工作队列处理器”模式通常用于卸载任务 从应用程序的主线程。 IntentService 类的存在是为了 简化此模式并注意机制。要使用它, 扩展 IntentService 并实现 onHandleIntent(Intent)。 IntentService 将接收 Intent,启动一个工作线程,然后 酌情停止服务。

    所有请求都在单个工作线程上处理——它们可能被视为 只要有必要(并且不会阻塞应用程序的主循环), 但一次只会处理一个请求。

    Official docs link

    【讨论】:

      【解决方案2】:

      是的。 Intent 服务将所有工作 Intent 排队并在单个工作线程中一一处理。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-06-07
        • 1970-01-01
        • 1970-01-01
        • 2012-05-26
        • 1970-01-01
        相关资源
        最近更新 更多