-1

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

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

做这个的最好方式是什么?我提到在android4.0中以串行顺序执行异步任务

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

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

4

3 回答 3

1

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

于 2013-09-13T12:42:34.260 回答
0

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

于 2013-09-13T12:37:06.470 回答
0

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

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

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

于 2013-09-13T12:38:02.083 回答