虽然我还没有尝试过,但从理论的角度来看,我问这个问题只是为了清除我的怀疑。
我的情况如下:
1.向服务器发送请求并收到JSON
响应。为此,我使用AsyncTask
,因为接收响应可能有延迟。
2.从此响应中获取图像URL。
3.再使用一个AsyncTask
,调用图像URL并获取图像。 (再次可能需要时间来获取图像)
所以你认为使用2 AyncTask只是为了获得该图像效率低下。 或者,在步骤1中,不是使用AsyncTask,而是按顺序运行代码并改为设置Timeout。
请建议。
答案 0 :(得分:0)
不确定如何准确地构建它,但文档说:
execute(Params...) must be invoked on the UI thread.
http://developer.android.com/reference/android/os/AsyncTask.html
因此您无法从其他异步任务后台方法执行新的异步任务。
即使您尝试从progress方法执行此操作,那么由于HONEYCOMB asynctasks是序列化的,因此您的第二个异步任务无论如何都将排队 - 您必须使用THREAD_POOL_EXECUTOR使其并行运行。