如何在 Android 中执行多个后台任务?
例如下载并同时上传文件?
做这个的最好方式是什么?我提到在android4.0中以串行顺序执行异步任务
但我只能让下载工作,上传部分没有任何反应?我尝试过使用两个不同的异步任务,但仍然是同样的问题,只能下载作品。
还有其他方法可以实现吗?
如何在 Android 中执行多个后台任务?
例如下载并同时上传文件?
做这个的最好方式是什么?我提到在android4.0中以串行顺序执行异步任务
但我只能让下载工作,上传部分没有任何反应?我尝试过使用两个不同的异步任务,但仍然是同样的问题,只能下载作品。
还有其他方法可以实现吗?
由于 Honeycomb 异步任务一个接一个地执行。如果您真的想要并行执行两个(或更多)AsyncTask,您必须使用 AsyncTask.THREAD_POOL_EXECUTOR 作为执行器,使用“executeOnExecutor”(而不是“execute”)方法启动任务。
您可以为此类工作创建自己的线程。由于 IntentService 具有与 AsyncTask 相同的自己的队列,因此您不能同时运行多个后台任务。
您面临的问题可能是因为 Honeycomb,AsyncTask 使用串行线程单线程序列。
对于下载或上传除缩略图以外的任何内容,您应该使用服务,IntentService 可能是最容易开始的,尽管同时工作需要您产生一个工作线程(无论如何您都应该这样做)。
Vogella 有一个很好的概述。 http://www.vogella.com/articles/AndroidServices/article.html