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后不少用户反映已经可以使用

  • 相关阅读:
    Asp.net MVC 中Ajax的使用
    MVC Controller return 格式分类及用法
    【金楽】老博客地址
    C语言博客作业--结构体
    结构体、共用体、枚举博客转载
    C博客作业--指针
    C语言博客作业--字符数组
    C语言博客作业--一二维数组
    C语言博客作业--数据类型
    C语言博客作业--函数
  • 原文地址:https://www.cnblogs.com/ct2011/p/4078137.html
Copyright © 2011-2022 走看看