zoukankan      html  css  js  c++  java
  • OkHttp2.0有Bug,暂时不推荐在产品中使用

    版权声明:

    欢迎转载,但请保留文章原始出处

    作者:GavinCT

    出处:http://www.cnblogs.com/ct2011/p/4078137.html

    之前在博客里推荐使用OkHttp来替换HttpClient、HttpUrlConnection,项目上线以后发现打脸了。
    打脸归打脸,错误还得及时纠正。

    问题

    最近项目引入OkHttp上线以后,收到用户反馈说软件无法获取服务器信息。
    感谢用户的配合,让我找到了OkHttp这个隐藏比较深的bug。

    提醒

    OkHttp2.0有Bug,现在还不适宜引入项目代替HttpClient、HttpUrlConnection

    Bug描述

    首先需要声明,不是所有设备都能重现,仅少量设备会出现这个问题。(如果问题这么明显,OkHttp早就修复了)

    设备

    酷派大神F1, 刷了MIUI

    项目中使用的OkHttp库

    OkHttp2.0 Okio1.0

    Log崩溃信息如下

    10-29 17:18:30.036: W/System.err(20871): java.io.EOFException
    10-29 17:18:30.040: W/System.err(20871): 	at okio.RealBufferedSource.readUtf8LineStrict(RealBufferedSource.java:154)
    10-29 17:18:30.041: W/System.err(20871): 	at com.squareup.okhttp.internal.http.HttpConnection.readResponse(HttpConnection.java:189)
    10-29 17:18:30.044: W/System.err(20871): 	at com.squareup.okhttp.internal.http.HttpTransport.readResponseHeaders(HttpTransport.java:101)
    10-29 17:18:30.045: W/System.err(20871): 	at com.squareup.okhttp.internal.http.HttpEngine.readResponse(HttpEngine.java:676)
    10-29 17:18:30.046: W/System.err(20871): 	at com.squareup.okhttp.Call.getResponse(Call.java:205)
    10-29 17:18:30.047: W/System.err(20871): 	at com.squareup.okhttp.Call.execute(Call.java:80)
    10-29 17:18:30.048: W/System.err(20871): 	at com.czt.okhttpdemo.MainActivity$1.run(MainActivity.java:34)
    

    查到Github issue里显示,有些用户在2.0正式版之前是没有问题的,但是2.0时候确实存在这个bug,而且一直也没有修复。

    官方答复

    出现这个bug后,我也反馈给了OkHttp,他们现在标记在2.3版本里面解决。
    Github issue链接

    Update=======

    Issues-1518显示似乎已经修复,产品使用OkHttp2.5后不少用户反映已经可以使用

  • 相关阅读:
    git 获取之前某个版本
    mysql默认查询顺序
    tp5链式查询fetchSql(true)方法
    微信中关闭网页输入内容时的安全提示
    SourceTree + BeyondCompare 配置 + 使用教程
    SourceTree 免登录跳过初始设置
    git 常规发布流程
    Git常用操作命令
    手动安装phpRedisAdmin
    docker-compose快速搭建lnmp+redis服务器环境
  • 原文地址:https://www.cnblogs.com/ct2011/p/4078137.html
Copyright © 2011-2022 走看看