网络连接

OkHttpClient()类中有open方法。
在OKHttp1.6.0的时候该方法就已经已经过时了。

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

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

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

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

HttpUrlConnection在IO方面用到的是InputStream和OutputStream,但是OkHttp用的是sink和source,这两个是在Okio这个开源库里的,sink相当于outputStream,source相当于是inputStream。sink和source比InputStream和OutputStream更加强大,单拿sink举例,他的子类有BufferedSink(支持缓冲)、GzipSink(支持Gzip压缩)、ForwardingSink和InflaterSink(后面这两者服务于GzipSink),source对应的也有,具体的可以自行上网查找。

从Android 4.4起, 其HttpURLConnection的内部实现已经变为OkHttp,使用的是okhttp1.5及以下版本,具体不知

HttpURLConnection源码分析如下:

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

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 159,949评论 24 690
  • 讲道理每次最后一周的视频的数量和信息量都好可怕,作业也很有挑战。虽然死乞白赖的向辅导员请假回来,可是直到交作业的最...
    Dddddw阅读 370评论 0 2
  • OkHttp解析系列 OkHttp解析(一)从用法看清原理OkHttp解析(二)网络连接OkHttp解析(三)关于...
    Hohohong阅读 2,373评论 0 14
  • 每天都在想 是爱,是恨,是疯狂 是错,是对,是假象 是走,是留,是牢房 一切都停滞于妄想 不过世上的一粒平凡 是真...
    yangwawa1993阅读 55评论 0 0
  • 在未来,是个人崛起的时代,每个人都是独立的,独立不是一座孤岛,而是一座城堡,发自内心地享受独立带来的自由才是一个女...
    Eve呢阅读 276评论 4 18
  • (1) 从农历日期来讲,2017年大年初一果果整满3个月,今天想和大家分享的是吃奶那些事。 从宝贝呱呱坠地说起,无...
    爽妈阅读 270评论 0 0
  • 好久没这么晚睡了,感觉不纪念一下都浪费了、好想发个微博、可是我怕没人理我了
    叉叉蹦阅读 50评论 0 0
  • 市面上的游戏品类万千,拥有知名IP的游戏,或者是早期积攒过一批忠实的高付费玩家的PC端游,在被改编为页游手游后,在...
    蓝桥飞阅读 1,736评论 7 8