【问题标题】:Running multiple background tasks in Android 4.0 [closed]在 Android 4.0 中运行多个后台任务 [关闭]
【发布时间】:2013-09-13 12:29:34
【问题描述】:

如何在 Android 中执行多个后台任务?

例如下载文件的同时上传文件?

最好的方法是什么?我提到了execute the async task in serial order in android4.0

但我只能让下载工作,上传部分没有任何反应?我试过使用两个不同的异步任务,但仍然是同样的问题,只下载作品。

还有其他方法可以实现吗?

【问题讨论】:

  • 你有多个答案,如果你能回复我们将不胜感激。

标签: android


【解决方案1】:

因为 Honeycomb 异步任务是一个接一个地执行的。如果您确实想要并行执行两个(或更多)AsyncTask,您必须使用 AsyncTask.THREAD_POOL_EXECUTOR 作为执行器,使用“executeOnExecutor”(而不是“execute”)方法启动任务。

【讨论】:

    【解决方案2】:

    您可以为此类工作创建自己的主题。由于 IntentService 与 AsyncTask 一样有自己的队列,因此您不能同时运行多个后台任务。

    【讨论】:

      【解决方案3】:

      您面临的问题可能是由于 Honeycomb,AsyncTask 使用串行线程单线程序列。

      对于下载或上传除缩略图以外的任何内容,您应该使用服务,IntentService 可能是最容易开始的,尽管同时工作需要您产生一个工作线程(无论如何您都应该这样做)。

      Vogella 有一个很好的概述。 http://www.vogella.com/articles/AndroidServices/article.html

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-03-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-09-05
        相关资源
        最近更新 更多