精华内容
下载资源
问答
  • okHttp使用及优缺点

    千次阅读 2019-06-07 00:50:31
    1.okHttp使用及优缺点 https://blog.csdn.net/Apple_hsp/article/details/50964923 2.重识OkHttp——更深入了解如何使用 https://www.jianshu.com/p/c70d0ce5400c
    展开全文
  • okhttp原理和优缺点

    千次阅读 2019-11-04 14:47:23
    okhttp

    简单的使用

    OkHttpClient okHttpClient = new OkHttpClient();
    
        Request request=new Request.Builder()
                .url("http://www.baidu.com/")
                .build();
        Call call= okHttpClient.newCall(request);
        call.enqueue(new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {
    
            }
    
            @Override
            public void onResponse(Call call, Response response) throws IOException {
    
            }
        });
    

    框架优点:

    okHttp是一个高性能的http库,支持ip切换、url重试、线程管理、缓存管理、连接复用等

    支持HTTPS/HTTP2/WebSocket(服务器可主动推送消息)
    内部维护任务队列线程池,友好支持并发访问
    内部维护连接池,支持多路复用,减少连接创建开销
    提供拦截器链,实现request和response的分层处理
    Okio提供超时机制
    Socket创建支持最佳路由

    为什么要有拦截器链?怎么实现?有哪些拦截器链?

    官网对拦截器的解释是:拦截器是OkHttp中提供的一种强大机制,它可以实现网络监听、请求以及响应重写、请求失败重试等功能。

    1 RetryAndFollowUpInterceptor
    检验返回的 Response ,如果出现异常情况,则进行重连操作。
    2 BridgeInterceptor 侨接拦截器

    设置内容长度,内容编码
    设置gzip压缩,并在接收到内容后进行解压。省去了应用层处理数据解压的麻烦
    添加cookie
    设置其他报头,如User-Agent,Host,Keep-alive等,其中Keep-Alive是实现多路复用的必要步骤

    3 CacheInterceptor 缓存拦截器
    功能: 实现缓存功能的拦截器

    当网络请求有符合要求的Cache时直接返回Cache
    当服务器返回内容有改变时更新当前cache
    如果当前cache失效,删除

    4 ConnectInterceptor
    打开一个面向指定服务器的连接,并且执行下一个拦截器

    5 CallServerInterceptor
    这是 Okhttp 库中拦截器链的最后一个拦截器,也是这个拦截器区具体发起请求和获取响应。

      Response getResponseWithInterceptorChain() throws IOException {        // Build a full stack of interceptors.
            List<Interceptor> interceptors = new ArrayList<>();  //用户自定义的拦截器
            interceptors.addAll(client.interceptors());     
            interceptors.add(retryAndFollowUpInterceptor);
            interceptors.add(new BridgeInterceptor(client.cookieJar()));
            interceptors.add(new CacheInterceptor(client.internalCache()));
            interceptors.add(new ConnectInterceptor(client));        if (!forWebSocket) {
                interceptors.addAll(client.networkInterceptors());
            }
            interceptors.add(new CallServerInterceptor(forWebSocket));      
            Interceptor.Chain chain = new RealInterceptorChain(interceptors, null, null, null, 0,
                    originalRequest, this, eventListener, client.connectTimeoutMillis(),
                    client.readTimeoutMillis(), client.writeTimeoutMillis());        //标记1
            return chain.proceed(originalRequest);
        }
    
     public Response proceed(Request request, StreamAllocation streamAllocation, HttpCodec httpCodec,
                                RealConnection connection) throws IOException {
            ...       
            RealInterceptorChain next = new RealInterceptorChain(interceptors, streamAllocation, httpCodec,
                    connection, index + 1, request, call, eventListener, connectTimeout, readTimeout,
                    writeTimeout);       
            Interceptor interceptor = interceptors.get(index);     //标记1:取出index位置的拦截器  
            Response response = interceptor.intercept(next);  //标记2
    
            ...        return response;
        }
    
      @Override public Response intercept(Interceptor.Chain chain) throws IOException {
            ...
            RealInterceptorChain realChain = (RealInterceptorChain) chain;
            ...
            response = realChain.proceed(request, streamAllocation, null, null);
            ...
        }
    

    创建一系列拦截器,并将其放入一个拦截器list集合中。

    创建一个拦截器链RealInterceptorChain,并执行拦截器链的proceed方法,这个proceed方法的核心是继续创建下一个拦截器链。

    线程调度器怎么实现?

    用了哪些设计模式?

    展开全文
  • 市面上通用的一些网络请求方式,主要通过分析其优缺点和性能,为以后选择网络请求连接方式提供支持。现在常用的网络请求方式主要有:HttpClient、HttpURLConnection、OKHttp和Volley。 一、HttpClient: ...

    转自:https://blog.csdn.net/langtop/article/details/77972855

    市面上通用的一些网络请求方式,主要通过分析其优缺点和性能,为以后选择网络请求连接方式提供支持。现在常用的网络请求方式主要有:HttpClient、HttpURLConnection、OKHttp和Volley。

    一、HttpClient:

    HttpClient 是Apache的一个三方网络框架,网络请求做了完善的封装,api众多,用起来比较方便,开发快。实现比较稳定,bug比较少,由于其api众多,是我们很难再不破坏兼容性的情况下对其进行扩展。所以,Android团队对提升和优化httpclient积极性并不高,android5.0被废弃,6.0逐渐删除。

    二、HttpURLConnection

    HttpURLConnection是一个多用途、轻量级的http客户端。它对网络请求的封装没有HttpClient彻底,api比较简单,用起来没有那么方便。但是正是由于此,使得我们能更容易的扩展和优化的HttpURLConnection。不过,再android2.2之前一直存在着一些令人烦的bug,比如一个人可读的inputstream调用它的close方法的时候,会使得连接池实效,通常的做法就是禁用连接池。因此,在android2.2之前建议使用稳定的HttpClient,android2.2之后使用更容易扩展和优化的HttpURLConnection。

    三、okhttp

    在这里插入图片描述

    在这里插入图片描述

    okhttp是专注于提升网络连接效率的http客户端。
    1、它能实现同一ip和端口的请求重用一个socket,这种方式能大大降低网络连接的时间,和每次请求都建立socket,再断开socket的方式相比,降低了服务器服务器的压力。
    2、okhttp 对http和https都有良好的支持。
    3、okhttp 不用担心android版本变换的困扰。
    4、成熟的网络请求解决方案,比HttpURLConnection更好用。
    4、缺点,okhttp请求网络切换回来是在线程里面的,不是在主线程,不能直接刷新UI,需要我们手动处理。封装比较麻烦。

    四、Volley

    Volley是google在2013 io大会上推出的网络通信框架,特别适合处理数据量小,通信频繁的网络操作。优点是内部封装了异步线程,可直接在主线程请求网络,并处理返回的结果。同时可以取消请求,容易扩展。缺点是:面对大数据量的请求,比如下载表现糟糕,不支持https。Volley的底层在针对android2.3以下系统使用httpclicent,在android2.3以上采用HttpUrlConnection请求网络。

    本公司的选择:
    公司使用Volley框架来处理网络请求,但是,当数据量需求越来大的时候,Volley在面对大数据量的网络请求的表现并不好,加上公司大量采用https协议。于是,公司网络请求采用了Volley+okhttp。正如我们采用这种方式的优势有:
    1、okhttp 不用担心android版本变换的困扰。
    2、okhttp 对大数据量的网络请求支持非常好。
    3、okhttp 同时支持http和https
    4、okhttp 重用socket连接,网络请求效率非常高。
    5、Volley框架在异步请求的封装非常好,对子线程网络请求,主线程更新UI支持非常好。能像Image-Loader一样轻松加载网络图片。

    使用教程及代码请自行搜索…

    展开全文
  • 比较的指标: 1、cpu 2、流量 ...5、是否支持reflect api,OkHttp有配套方法 6、缓存、重试 7、cookie支持session id会话支持 8、弱网性能和稳定性 9、超时时间,几种超时时间 连接超时,响应


    比较的指标:

    1、cpu

    2、流量

    3、电量

    4、内存占用

    5、联网时间

    功能点:

    1、重试机制

    2、提供的扩展功能

    3、易用性

    4、是否https

    5、是否支持reflect api,OkHttp有配套方法

    6、缓存、重试

    7、cookie支持session  id会话支持

    8、弱网性能和稳定性

    9、超时时间,几种超时时间   连接超时,响应超时 

    10、适配各种机型、4.4和之前版本  2.3  4.1 5.0  

    4种网络连接方式提供的功能对比表格:

     

    缓存

    重试

    Https/Http

    稳定性

    Cookie

     

    Session

    HttpClient

    Ok

    自动管理Cookie

     

    HttpURLConnection

    POST  ×

    GET  √ 4.0以后

    Ok

    设置请求Cookie

     

    OkHttp

    Ok

     

     

    Volley

    Ok

     

     

     

    Ps:稳定性:四种网络连接方式都在业内广泛应用,都比较稳定。

    特别指出的是,在 Froyo(2.2)之前,HttpURLConnection有个重大 Bug,调用close()函数会影响连接池,导致连接复用失效,所以在 Froyo 之前使用HttpURLConnection需要关闭keepAlive。

    另外,在 Gingerbread(2.3) HttpURLConnection 默认开启了 gzip 压缩,提高了 HTTPS 的性能,Ice Cream Sandwich(4.0) HttpURLConnection 支持了请求结果缓存。

    再加上HttpURLConnection本身API相对简单,所以对Android来说,在2.3之后建议使用HttpURLConnection,之前建议使用HttpClient。

     

    功能对比表格参考的博客:

    HttpClient Cookie:

    http://zzc1684.iteye.com/blog/2162858

     

    HttpClient 重试机制:

    http://blog.csdn.net/weborn/article/details/9112309

     

    Volley源码解析:

    http://p.codekk.com/blogs/detail/54cfab086c4761e5001b2542

     

    HttpURLConnection设置请求Cookie:

    http://hw1287789687.iteye.com/blog/2240085

     

    OkHttp Cookie管理:

    https://segmentfault.com/a/1190000004345545

     

    Volley CookieSession:

    http://my.oschina.net/liusicong/blog/361853

     

    HttpClient Session保持:

    http://www.flysnow.org/2013/11/21/android-httpclitent-session-keep.html

     

    1、HttpClient  缺点罗列

    Apache HttpClient早就不推荐httpclient,5.0之后干脆废弃,后续会删除。6.0删除了HttpClient。Java开发用HttpClient,官方推荐Android开发用HttpUrlConnection。

    DefaultHttpClient和它的兄弟AndroidHttpClient都是HttpClient具体的实现类,它们都拥有众多的API,而且实现比较稳定,bug数量也很少。

    但同时也由于HttpClient的API数量过多,使得我们很难在不破坏兼容性的情况下对它进行升级和扩展,所以,目前Android团队在提升和优化HttpClient方面的工作态度并不积极。

    高效稳定,但是维护成本高昂,故android 开发团队不愿意在维护该库而是转投更为轻便的HttpUrlConnection。

    2、HttpURLConnection 

    HttpURLConnection是一种多用途、轻量极的HTTP客户端,使用它来进行HTTP操作可以适用于大多数的应用程序。虽然HttpURLConnection的API提供的比较简单,但是同时这也使得我们可以更加容易地去使用和扩展它。

    不过在Android 2.2版本之前,HttpURLConnection一直存在着一些令人厌烦的bug。比如说对一个可读的InputStream调用close()方法时,就有可能会导致连接池失效了。那么我们通常的解决办法就是直接禁用掉连接池的功能:

     

    在Android 4.0版本中,我们又添加了一些响应的缓存机制。当缓存被安装后(调用HttpResponseCache的install()方法),所有的HTTP请求都会满足以下三种情况:

    比较轻便,灵活,易于扩展

    在3.0后以及4.0中都进行了改善,如对HTTPS的支持

    在4.0中,还增加了对缓存的支持

    在android 2.2及以下版本中HttpUrlConnection存在着一些bug,所以建议在android 2.3以后使用HttpUrlConnection,2.3之前使用HttpClient。


    3、OkHttp优点较多

    OkHttp是一个现代,快速,高效的Http client,支持HTTP/2以及SPDY(SPDY介绍网址:https://zh.wikipedia.org/wiki/SPDYSPDY(发音如英语:speedy),一种开放网络传输协议,由Google开发),它为你做了很多的事情。

    OKHttp是Android版Http客户端。非常高效,支持SPDY、连接池、GZIP和HTTP缓存。

    支持SPDY,可以合并多个到同一个主机的请求

    OkHttp实现的诸多技术如:连接池,gziping,缓存等就知道网络相关的操作是多么复杂了。

    OkHttp扮演着传输层的角色。

    OkHttp使用Okio来大大简化数据的访问与存储,Okio是一个增强 java.io 和 java.nio的库。

    OkHttp 处理了很多网络疑难杂症:会从很多常用的连接问题中自动恢复。如果您的服务器配置了多个IP地址,当第一个IP连接失败的时候,OkHttp会自动尝试下一个IP。

    OkHttp还处理了代理服务器问题和SSL握手失败问题。

    OkHttp是一个Java的HTTP+SPDY客户端开发包,同时也支持Android。需要Android 2.3以上

    OKHttp是Android版Http客户端。非常高效,支持SPDY、连接池、GZIP和 HTTP 缓存。

    默认情况下,OKHttp会自动处理常见的网络问题,像二次连接、SSL的握手问题。

    如果你的应用程序中集成了OKHttp,Retrofit默认会使用OKHttp处理其他网络层请求。

    从Android4.4开始HttpURLConnection的底层实现采用的是okHttp 

        缓存响应避免重复的网络请求

     

    目前,该封装库志支持:

     

    •     一般的get请求

    •     一般的post请求

    •     基于Http的文件上传

    •     文件下载

    •     上传下载的进度回调

    •     加载图片

    •     支持请求回调,直接返回对象、对象集合

    •     支持session的保持

    •     支持自签名网站https的访问,提供方法设置下证书就行

    •     支持取消某个请求

     

    为什么要做缓存,或者说有什么好处?

    减少服务器负荷,降低延迟提升用户体验。

    复杂的缓存策略会根据用户当前的网络情况采取不同的缓存策略,比如在2g网络很差的情况下,提高缓存使用的时间;不用的应用、业务需求、接口所需要的缓存策略也会不一样,有的要保证数据的实时性,所以不能有缓存,有的你可以缓存5分钟,等等。你要根据具体情况所需数据的时效性情况给出不同的方案。当然你也可以全部都一样的缓存策略,看你自己。

    4、Volley

    Volley是一个简化网络任务的库。他负责处理请求,加载,缓存,线程,同步等问题。它可以处理JSON,图片,缓存,文本源,支持一定程度的自定义。

     

    Volley在Android 2.3及以上版本,使用的是HttpURLConnection,而在Android 2.2及以下版本,使用的是HttpClient。
        Volley的基本用法,网上资料无数,这里推荐郭霖大神的博客
        Volley存在一个缓存线程,一个网络请求线程池(默认4个线程)。
        Volley这样直接用开发效率会比较低,我将我使用Volley时的各种技巧封装成了一个库RequestVolly.
        我在这个库中将构造请求的方式封装为了函数式调用。维持一个全局的请求队列,拓展一些方便的API。

    不过再怎么封装Volley在功能拓展性上始终无法与OkHttp相比。
    Volley停止了更新,而OkHttp得到了官方的认可,并在不断优化。
    因此我最终替换为了OkHttp

     

    OkHttp使用Okio进行数据传输。都是Square家的。
    但并不是直接用OkHttp。Square公司还出了一个Retrofit库配合OkHttp战斗力翻倍。

    网络加载库:Picasso、Fresco,所以我更喜欢Glide 

     

    不过现在主流的网络请求都是用Volley,OkHttp呼声也很高。

     

    Volley是为RPC网络操作而设计的,适用于短时操作。

    Volley默认在Froyo上使用Apache Http stack作为其传输层,在Gingerbread及之后的版本上使用HttpURLConnection stack作为传输层。原因是在不同的安卓版本中这两种http stack各自存在一些问题。

    Volley可以轻松设置OkHttp作为其传输层。

    Volley是谷歌开发的。

    Volley可以说是把AsyncHttpClient和Universal-Image-Loader的优点集于了一身,既可以像AsyncHttpClient一样非常简单地进行HTTP通信,也可以像Universal-Image-Loader一样轻松加载网络上的图片。除了简单易用之外,Volley在性能方面也进行了大幅度的调整,它的设计目标就是非常适合去进行数据量不大,但通信频繁的网络操作,而对于大数据量的网络操作,比如说下载文件等,Volley的表现就会非常糟糕
        Volley提供了:JsonObjectRequest、JsonArrayRequest、StringRequest、ImageRequest、NetworkImageView等Request形式。

    Volley的优点很多,可拓展、结构合理、逻辑清晰、能识别缓存、通过统一的方式,获取网络数据,包括且不限于文本、图片等资源。用了一段时间,果断放弃以前用过的其他框架。

    Volley在一开始创建请求队列的过程中,需要创建网络线程和缓存线程,同时还需要初始化基于Disk的缓存,这中间有大量的资源开销和IO操作,所有才会慢。

    4种方式的比较:

    1、HttpClient: 在Android 2.2版本之前,HttpClient拥有较少的bug,因此使用它是最好的选择。

    2、HttpURlConnection: 而在Android 2.3版本及以后,HttpURLConnection则是最佳的选择。它的API简单,体积较小,因而非常适用于Android项目。

    对于新的应用程序应该更加偏向于使用HttpURLConnection因为在以后的工作当中我们也会将更多的时间放在优化HttpURLConnection上面。

    谷歌自己也是推荐用HttpUrlConnection,对它进行了大量的优化,这个从安卓的帮助文档可以看出来:

    http://developer.android.com/reference/java/net/HttpURLConnection.html

       

    3OkHttp:是一个相对成熟的解决方案,我们更有理由相信OkHttp的强大。

    Android4.4的源码中可以看到HttpURLConnection已经替换成OkHttp实现了。

     

    OkHttp 处理了很多网络疑难杂症:会从很多常用的连接问题中自动恢复。

    如果您的服务器配置了多个IP地址,当第一个IP连接失败的时候,OkHttp会自动尝试下一个IP。

    OkHttp还处理了代理服务器问题和SSL握手失败问题。

    使用 OkHttp 无需重写您程序中的网络代码。

    OkHttp实现了几乎和java.net.HttpURLConnection一样的API。

     

    其实现在嘛,两者都不用,就用Okhttp 
    HttpUrlConnection
    现在的底层实现就是通过Okhttp

     

    网络请求框架支持的功能:

    1、支持自定义请求的Header

    2、支持Http的基本请求方法:GET、POST

    3、支持文件上传和下载

    4、可以加载图片

    5、支持多任务网络请求操做

    6、支持缓存

    7、支持请求回调

    8、支持session的保持

     

    网络优化建议点:

     

    1、连接复用节省连接建立时间,如开启keep-alive 

    2、不用域名,用IP直连省去DNS解析过程,根据域名得到IP地址

     

    参考博客:

    http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0106/2275.html

    http://blog.csdn.net/zhangcanyan/article/details/51661448

    一、性能指标对比

    测试手机:小米MI3(4.4.4)、魅蓝2(5.1)

    测试版本:书旗Android 9.9.0

    测试环境:直连下wifi访问

    测试方法:安装并开启易测APP,安装网络框架apk,进行联网请求(http://www.csdn.net/),请求多次进行测试。

    测试结果计算:测试3次。

    误差说明:第三方软件计算,受后台应用影响,存在一定误差。

    1、CPU占用

    误差说明:第三方软件计算,受后台应用影响,存在一定误差。



       结论:测试机型总体上CPU占用率,OkHttp的网络请求略低于其它联网方式。

    2、内存消耗

    误差说明:第三方软件计算,受后台应用影响,存在一定误差。



    结论:测试机型总体上内存占用情况,在小米手机上,OkHttp的网络请求消耗内存略低于其它联网方式。在魅族手机上,内存消耗略高于其它方式。显示出测试机型内存消耗表现不一。

    3、电量消耗

    误差说明:第三方软件计算,受后台应用影响,存在一定误差。 

     


        结论:OkHttp的网络请求消耗的电量百分比在略低于其它联网方式,消耗的总电量在小米手机上高于其它联网方式,在魅族手机上略低于其它联网方式。消耗电量的差异不大,在0.5mah以内。

    4、流量消耗

    误差说明:网络请求的发送和接收流量存在一定误差。

     

    结论:

    1、网络发送流量HttpURLConnection最高,Volley次之,OKHttp第三位,HttpClient最少。但是,数据量差别不大,零点几的请求差别。

    2、累积接收流量HttpClient最大,HttpURLConnection和Volley相同,OkHttp略大于前两者。

     

    5、联网平均耗时

    误差说明:网络的状况可能会影响网络请求时间。


    结论:网络请求平均耗时HttpClient最大,HttpURLConnection最小,Volley平均比前者高10ms~20ms,OkHttp比Volley高20ms~40ms。

      

    综上得出最终结论:

    1、对于新的应用程序,应该更加偏向于使用HttpURLConnection因为在以后的工作当中Google也会将更多的时间放在优化HttpURLConnection上面。

    谷歌自己也是推荐用HttpUrlConnection,对它进行了大量的优化,这个从安卓的帮助文档可以看出来:

    http://developer.android.com/reference/java/net/HttpURLConnection.html

     

    2、对于已经成熟的应用, Volley停止了更新,而OkHttp得到了官方的认可,并在不断优化。

    因此我建议使用OkHttp,现在最新稳定版为3.2.0 


    展开全文
  • 1.HttpClient优点:apache httpclient高效稳定,有很多API缺点:由于API太多,很难在不破坏兼容性的情况下对它进行升级和扩展,维护成本高,故android 开发团队不愿意在维护该库而是转投更为轻便的httpurlconnection...
  • Okhttp: Square 公司开源的 OkHttp 是一个专注于连接效率的 HTTP 客户端。OkHttp 提供了对 HTTP/2 和 SPDY 的支持,并提供了连接池,GZIP 压缩和 HTTP 响应缓存功能。 优点: 支持http请求,https请求、支持同步...
  • OkHttp

    2017-06-15 18:18:26
    Android4种网络连接方式HttpClient、HttpURLConnection、OKHttp和Volley优缺点和性能对比 okhttp,retrofit,android-async-http,volley应该选择哪一个? Android Async HTTP Clients: Volley vs Retrof
  • OKHTTP的封装

    2016-11-27 14:20:46
    Android OKHttp优缺点,OkHttp的封装
  • 说到网络框架,就不得不提一下HTTP,TCP,UDP,Socket,本篇文章介绍了android主流网络框架(Android-async-http,afinal,xUtils,Volley,okhttp,Retrofit)的特点和优势以及HTTP,TCP,UDP,Socket的特点
  • okhttp

    2018-01-03 16:32:10
    最初我们进行HTTP请求时使用的是HttpURLConnection或者HttpClient,那么这两者都有什么优缺点呢? HttpClient是Apache基金会的一个开源网络库,功能十分强大,API数量众多,但正是由于庞大的API数量使得我们很难...
  • OKHttp详解

    2018-03-29 09:43:10
    1. 历史上Http请求库优缺点 在讲述OkHttp之前, 我们看下... 那么这两者都有什么优缺点呢? 为什么不在继续使用下去呢?HttpClient是Apache基金会的一个开源网络库, 功能十分强大, API数量众多, 但是正是由于庞大的API数
  • okHttp 详解

    2018-04-10 12:37:23
    1. 历史上Http请求库优缺点在讲述OkHttp之前, 我们看下没有OkHttp的时代, 我们是如何完成http请求的. 在没有OkHttp的日子, 我们使用HttpURLConnection或者HttpClient. 那么这两者都有什么优缺点呢? 为什么不在继续...
  • OkHttp使用完全教程

    万次阅读 2016-08-02 17:43:19
    OkHttp使用完全教程标签 : Http请求, OkHttp ... 历史上Http请求库优缺点在讲述OkHttp之前, 我们看下没有OkHttp的时代, 我们是如何完成http请求的. 在没有OkHttp的日子, 我们使用HttpURLConnection或者HttpC
  • OkHttp 使用详解

    2019-04-10 15:32:58
    1. 历史上Http请求库优缺点 在讲述OkHttp之前, 我们看下... 那么这两者都有什么优缺点呢? 为什么不在继续使用下去呢?HttpClient是Apache基金会的一个开源网络库, 功能十分强大, API数量众多, 但是正是由于庞大的...
  • OkHttp使用教程

    2021-01-04 13:44:01
    那么这两者都有什么优缺点呢? 为什么不在继续使用下去呢? HttpClient是Apache基金会的一个开源网络库, 功能十分强大, API数量众多, 但是正是由于庞大的API数量使得我们很难在不破坏兼容性的情况下对它进行升级和...
  • OkHttp基本使用

    2018-06-13 14:23:59
    1. 历史上Http请求库优缺点在讲述OkHttp之前, 我们看下没有OkHttp的时代, 我们是如何完成http请求的. 在没有OkHttp的日子, 我们使用HttpURLConnection或者HttpClient. 那么这两者都有什么优缺点呢? 为什么不在继续...
  • okhttp和volley对比

    2017-04-28 10:44:35
    OkHttp 物理质量使用OkHttp需要 okio.jar (80k), okhttp.jar(330k)这2个jar包,总大小差不多400k,加上自己的封装,差不多得410k。 功能介绍Square 公司开源的 OkHttp 是一个专注于连接效率的 HTTP 客户端。OkHttp ...
  • OkHttp使用总结

    千次阅读 2016-12-08 22:46:38
    1. 历史上Http请求库优缺点 在讲述OkHttp之前, 我们看下没有OkHttp... 那么这两者都有什么优缺点呢? 为什么不在继续使用下去呢? HttpClient是Apache基金会的一个开源网络库, 功能十分强大, API数量众多, 但是正是由
  • Glide和Picasso的优缺点比较

    千次阅读 2017-04-13 22:04:04
    (无”本地缓存,不是说没有本地缓存,而是 Picasso 自己没有实现,交给了 Square 的另外一个网络库 okhttp 去实现,这样的好处是可以通过请求 Response Header 中的 Cache-Control 及 Expired 控制图片的过期时间...
  • okhttp学习

    2017-05-30 17:02:00
    这是之前保存的学习笔记, 现在上传保存一下OKhttp学习1,http请求和响应步骤(7步)1,经过三次握手简历tcp连接,在HTTP工作开始之前, Web浏览器首先要通过网络与Web服务器建立连接, 该连接是通过TCP来完成的, 该协议与...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,423
精华内容 1,369
关键字:

okhttp优缺点