我对AsyncTask有疑问
我尝试打开Internet请求10个Json文件的10个请求,因此我将其读取并保存到用户设备_此文件必须由于数据差异而分开,包括。
因此,最好将每个请求都放在单个AsyncTask中。
这样,我就变成有10个AsyncTask,或者在一个AsyncTask中调用这10个请求?
以及为什么您更喜欢这种方式?
谢谢你们。
最佳答案
我将其放在单个AsyncTask中,这实际上是因为AsyncTasks很难在Activites中进行管理,一旦您的Activity旋转或用户按下Home按钮-它开始其生命周期-可能以onCreate结尾-这意味着您的活动可能会被破坏,然后重新创建。现在,如果您需要以某种方式向“活动”报告结果,那么您就麻烦了。有了一个AsyncTask,它变得容易得多。
如果您的AsyncTasks是fire and forget
类型,那么发出10个AsyncTasks可能不会那么糟糕,但是您可以使用自己的Executor,而无需为非gui任务阻塞AsyncTask线程池(因为Honeycomb是序列化的,所以是AsyncTasks)。