如何在Android中执行多项后台任务?
例如下载并同时上传文件?
最好的方法是什么?我提到execute the async task in serial order in android4.0
但我只能下载工作,上传部分什么都没发生?我尝试过使用两个不同的异步任务,但仍然存在同样的问题,只有下载工作。
还有其他方法可以实现吗?
提前致谢
答案 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