在Android 4.0中运行多个后台任务

时间:2013-09-13 12:29:34

标签: android

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

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

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

但我只能下载工作,上传部分什么都没发生?我尝试过使用两个不同的异步任务,但仍然存在同样的问题,只有下载工作。

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

提前致谢

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

您遇到的问题可能是因为Honeycomb,AsyncTask使用串行线程单线程序列。

为了下载或上传除缩略图以外的任何内容,您应该使用服务,IntentService可能最容易开始,虽然同时工作将需要您产生一个工作线程(无论如何你应该做)。

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