Android主流网络请求开源库的对比(Android-Async-Http、Volley、OkHttp、Retrofit)

                                                对比现今主流的网络请求库

1. 为什么要用网络请求开源库?

      网络请求开源库是一个将网络请求的相关功能封装好的类库,并对外提供Api:

  • 没有网络请求框架之前
    App想与服务器进行网络请求交互是一件很痛苦的事:因为Android的主线程不能进行网络请求,还需要另外开一个线程进行请求,然后又要考虑到线程池,缓存等一堆问题。

  • 使用网络请求库后(前人的轮子)
    实现网络请求的需求同时不需要考虑:

    • 异步请求
    • 线程池
    • 缓存
    • blabla

    同时还:

    • 降低开发难度
    • 缩短开发周期
    • 使用方便

2. 使用前知识了解

   2.1 Android实现网络请求的主流方法(SDK自带)
  • HttpClient
  • HttpURLConnection
   2.1.1 二者介绍&对比
  • HttpURLConnection
    在Android2.2之前:HttpURLConnection 有个重大 Bug:调用 close() 函数会影响连接池,导致连接复用失效;

     所以Android2.2之前不建议使用HttpURLConnection

  • 在Android2.2之后:HttpURLConnection默认开启了 gzip 压缩&提高了HTTPS 的性能

  • HttpClient
    优点:相比于HttpURLConnection,更加高效简洁
    缺点:结构过于复杂;维护成本高
  • 在5.0版本后被Android官方弃用
    2.2 网络请求库和Android网络请求实现方法的关系
  • 网络请求框架本质上是一个将网络请求的相关方法( HttpClient或HttpURLConnection)封装好的类库,并实现另开线程进行请求和处理数据,从而实现整个网络请求模块的功能。具体的关系可看下图:



3. 主流的网络请求库-介绍

  • Android-Async-Http
  • Volley
  • OkHttp
  • Retrofit

   下面是简单介绍:



                                                                                                                                网络请求加载 - 介绍

4. 网络请求库- 对比

     一图让你了解全部的网络请求库和他们之间的区别!


网络请求库 - 对比

5. 各个主流网络请求库的Github地址


6. 总结

本文对Android的主流网络请求库进行了全面的介绍 & 对比,总的来说,网络请求库没有说哪个最好,只有最合适,只有真的了解其使用场景才能很好的选择网络请求库。




原文链接:http://www.jianshu.com/p/050c6db5af5a




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值