我对AsyncTask有疑问,我试图打开10个请求到互联网上的10个Json文件,所以我读取它并将它保存到用户设备_this文件必须分开,因为数据上的差异,包括。
因此,有什么更好的方式将每个请求放在单个AsyncTask中。因此,我变成了有10个AsyncTask,或者在一个AsyncTask中调用所有这10个请求?为什么你更喜欢这条路?谢谢大家。
发布于 2014-03-06 19:09:44
我会把它放在单个AsyncTask中,这实际上是因为AsyncTasks很难在活动中进行管理,一旦您的活动旋转或用户按下Home按钮,它就开始了它的生命周期--它可以以onCreate结束--这意味着您的活动可能会被破坏,然后重新创建。现在,如果您需要以某种方式向活动报告您的结果,那么您就有麻烦了。有了一个AsyncTask,就容易多了。
如果您的AsyncTasks是fire and forget类型的,那么发布10 AsyncTasks可能不会那么糟糕,但是您可以使用自己的执行器,不需要为非gui任务阻塞AsyncTask线程池(因为蜂巢是序列化的)。
发布于 2014-03-06 19:20:24
不需要重新发明轮子:)
尝试使用Square中的volley框架来并行您的任务。
希望这能帮到你!
https://stackoverflow.com/questions/22233481
复制相似问题