zoukankan      html  css  js  c++  java
  • OkHttp和Volley对比

    OkHttp

    物理质量

    使用OkHttp需要 okio.jar (80k), okhttp.jar(330k)这2个jar包,总大小差不多400k,加上自己的封装,差不多得410k。

    功能介绍

    Square 公司开源的 OkHttp 是一个专注于连接效率的 HTTP 客户端。OkHttp 提供了对 HTTP/2 和 SPDY 的支持,并提供了连接池,GZIP 压缩和 HTTP 响应缓存功能。

    优点

    1. 支持http请求,https请求。
    2. 支持文件下载。
    3. 使用的是HttpURLConnection,不要担心android版本的变换。(至少目前是都支持的)。
    4. 支持get,post请求。
    5. 基于Http的文件上传。
    6. 加载图片。

    缺点

    1. 比如callback回来是在线程里面, 不能刷新UI,需要我们手动处理。
    2. 封装比较麻烦。

    Volley

    物理质量

    使用Volley 需要Volley.jar(120k),加上自己的封装最多140k。

    功能简述

    Volley是Goole在2013年Google I/O大会上推出了一个新的网络通信框架,它是开源的。Volley 的特点:特别适合数据量小,通信频繁的网络操作。

    优点

    1. 非常适合进行数据量不大,但通信频繁的网络操作。
    2. 内部分装了异步线程。
    3. 支持get,post网络请求。
    4. 图片下载。
    5. 可直接在主线程调用服务端并处理返回结果。
    6. 可以取消请求,容易扩展,面向接口编程。

    缺点

    1. 对大文件下载 Volley的表现非常糟糕。
    2. 只支持http请求。
    3. 在BasicNetwork中判断了statusCode(statusCode < 200 || statusCode > 299),如果合条件直
    4. 图片加载性能一般。
    5. 使用的是httpclient,HttpURLConnection。不过在android 6.0不支持httpclient了,如果想支持得添加org.apache.http.legacy.jar。

    总结

    在我们当前的项目 xxxSDK,xxx商城里面,使用volley就可以了,毕竟经过了日活几十万的测试,至少稳定性是没有问题的。okhttp暂时还用不上。后续如果要使用okhttp,可以再深入okhttp,给项目做重构。
    不过既然转战android studio,网络请求还是推荐使用Retrofit2

  • 相关阅读:
    pat 甲级 1065. A+B and C (64bit) (20)
    pat 甲级 1064. Complete Binary Search Tree (30)
    pat 甲级 1010. Radix (25)
    pat 甲级 1009. Product of Polynomials (25)
    pat 甲级 1056. Mice and Rice (25)
    pat 甲级 1078. Hashing (25)
    pat 甲级 1080. Graduate Admission (30)
    pat 甲级 团体天梯 L3-004. 肿瘤诊断
    pat 甲级 1099. Build A Binary Search Tree (30)
    Codeforce 672B. Different is Good
  • 原文地址:https://www.cnblogs.com/fanzhiguo/p/6038021.html
Copyright © 2011-2022 走看看