【问题标题】:Can DIFFERENT IntentServices run in parallel?DIFFERENT IntentServices 可以并行运行吗?
【发布时间】:2014-05-20 00:00:38
【问题描述】:

我有点难以理解有关 IntentServices 的一条规则。

来自Creating a Background Service

工作请求按顺序运行。如果一个操作正在 IntentService 中运行,并且您向发送另一个请求,则该请求会一直等待,直到第一个操作完成。

我不明白这是否意味着对 SAME IntentService 的不同调用,甚至对不同 IntentServices 的调用。

我们将不胜感激。

【问题讨论】:

    标签: android


    【解决方案1】:

    假设您启动了一个IntentService,它正在执行一个网络请求(立即)。您现在请求IntentService 执行另一项任务。这一次,它不会立即执行网络调用,而是等待前一个请求完成(如果没有完成)。这适用于 SAME IntentService

    如果您创建另一个IntentService,它将立即执行第一个请求,但不会执行后续请求。

    【讨论】:

    • 那么对不同 IntentServices 的执行没有限制?这是我真正要问的。
    • 好吧,限制是如果同一个IntentService 已经在执行任务。如果它还没有执行任务,它将立即执行,因为它不必等待前一个任务完成。
    • 那么,这实际上意味着每个 IntentService 都在自己的工作线程上执行?无论如何,这真的很高兴知道。我的应用程序中的大多数后台任务都基于 IntentServices。希望确保性能不会降低。
    • 是的,与普通的Service 相比,这就是使用IntentService 的优势。它产生了自己的Thread 来完成这项工作。
    • 欲了解更多信息,您可以通过:-developer.android.com/reference/android/app/IntentService.html
    猜你喜欢
    • 2015-12-24
    • 2011-09-24
    • 1970-01-01
    • 1970-01-01
    • 2012-10-07
    • 2022-01-19
    • 2020-08-10
    • 2018-08-06
    • 2016-01-06
    相关资源
    最近更新 更多