常见的几种网络请求框架比较

来源:互联网 发布:网络电视如何连接wifi 编辑:程序博客网 时间:2024/05/21 16:47

okttp和volley、xUtils Async-http Retrofit区别:


   volley:
         能使网络通信更快,更简单,更健壮,扩展性更好一点
        Get,Post网络请求及网络图像的高效率异步处理请求 
        可以对网络请求进行排序优先级管理
        支持网络请求的缓存
        多级别取消请求

        使用Volley可以简化一些网络通信的开发。不适合大数据和流媒体的网络请求。例如上百兆文件、视频下载
     
        volley在android2.2以下使用httpClient,2.2以上使用HttpURLConnection
      
    Async-http
    
     清晰的网络请求回调
     请求使用ThreadPool,限制并发资源使用情况
     GET/POST基于参数构建使用(RequestParams)
     支持Multipart文件上传,大数据上传下载
     内置响应解析成JSON
     持久化cookie存储,保存cookie到你的应用程序的SharedPreferences
     支持二进制文件(图片等)的下载
     使用httpClient
     
  okttp:
    
    OkHttp 是 Square 公司开源的针对 Java 和 Android 程序,封装的一个高性能 http 请求库,所以它的职责跟 HttpUrlConnection 是一样的,支持 spdy、http 2.0、     websocket ,支持同步、异步,而且 OkHttp 又封装了线程池,封装了数据转换,封装了参数使用、错误处理等,api 使用起来更加方便。可以把它理解成是一个封装之后的类似 HttpUrlConnection 的一个东西,但是你在使用的时候仍然需要自己再做一层封装,这样才能像使用一个框架一样更加顺手。

        
     •okhttp是高性能的http库,支持同步、异步,而且实现了spdy、http2、websocket协议,api很简洁易用,和volley一样实现了http协议的缓存。
    
    
     总结:来自于知乎
         
        如果以上网络库你都能熟练掌握,那么优先推荐使用 Retrofit ,前提是最好你们的后台 api 也能遵循 RESTful 的风格,其次如果你不想使用或者没能力掌握 Retrofit ,那么推荐使用 Volley ,毕竟 Volley 你不需要做过多的封装,当然如果你们需要上传大数据,那么不建议使用 Volley,否则你该采用 OkHttp 。
     最后,可能有些人会纠结 Volley 与 OkHttp 的选择,那是因为我认为 OkHttp 还是需要一定的能力做一层封装的,如果你有能力封装的话那不如直接用 Retrofit 了,如果没能力封装还是乖乖的用 Volley 吧,如果你能有一些不错的基于 OkHttp 封装好的开源库,总之你要根据自己项目的需求来选择使用自己的框架!


0 0
原创粉丝点击