过去一年我一直在使用AsyncTasks来访问服务器并检索数据,但为此目的使用AsyncTasks是不是一个坏主意?
我看到很多人使用诸如Retrofit之类的librariea来处理他们的网络操作。
我是否应该使用某些第三方图书馆(甚至是谷歌的排球)来处理这类请求?
答案 0 :(得分:4)
异步任务是处理UI线程任务的基本Android方式。
异步任务有很多限制,例如没有方向更改支持,无法取消网络调用,也没有简单的方法来并行进行API调用。
关于网络2事情非常重要
Retrofit
赢得速度和并行网络通话,volley
是下一个,Async task
大约慢<3> 对于单Retrofit
请求和慢13倍 25请求。
显然使用Async任务是个坏主意
图片来源http://instructure.github.io/blog/2013/12/09/volley-vs-retrofit/
答案 1 :(得分:2)
AsyncTasks存在很多问题,例如: 没有方向,更改支持无法取消网络呼叫,没有简单的方法可以并行进行API调用。
基本上它意味着一次只运行一个AsyncTask,并且需要多个API调用运行得非常慢。
而是我们的改造。您可以干净地动态地将路径段,POST / GET变量替换为端点及其超快速。