【问题标题】:DefaultHttpClient hangs on execute() method in lollipopDefaultHttpClient 挂在棒棒糖中的 execute() 方法上
【发布时间】:2015-06-22 14:45:13
【问题描述】:

在我们的一个旧项目中,我们将DefaultHttpClient 用于networking。它在lollipop 设备下工作正常,但在lollipop 获取请求挂起execute 方法调用。 我们正在像这样创建HttpClient

public static MyHttpClient createHttpClient(Context ctx) {    
        try {
            if(mgr == null){            
                SSLSocketFactory sf = SSLSocketFactory.getSocketFactory();        
                sf.setHostnameVerifier(SSLSocketFactory.BROWSER_COMPATIBLE_HOSTNAME_VERIFIER);        

                httpParameters = new BasicHttpParams();        
                HttpProtocolParams.setVersion(httpParameters, HttpVersion.HTTP_1_1);        
                HttpProtocolParams.setContentCharset(httpParameters, HTTP.UTF_8);
                HttpConnectionParams.setConnectionTimeout(httpParameters, HOST_REACH_TIMEOUT); 
                HttpConnectionParams.setSoTimeout(httpParameters, HOST_REACH_TIMEOUT);

                SchemeRegistry registry = new SchemeRegistry();   
                registry.register(new Scheme("http", PlainSocketFactory.getSocketFactory(), 80));        
                registry.register(new Scheme("https", sf, 443));        

                mgr = new ThreadSafeClientConnManager(httpParameters, registry);
            }
            return new MyHttpClient(mgr, httpParameters);    
        } catch (Exception e) {        
            return new MyHttpClient(ctx);    
        }
    }

我们还设置了超时。知道为什么它在那里冻结以及我们如何解决这个问题吗?

编辑:我错过的另一件事。只有当我们第三次点击相同的 URL 时才会发生这种情况。前两次效果很好。

【问题讨论】:

  • HOST_REACH_TIMEOUT 的值是多少
  • @petey 我已将 HOST_REACH_TIMEOUT 替换为值。
  • 2min 挺高的,试试 15000?
  • 我已经尝试了 1 分钟的相同结果。我还错过了另一件事。只有当我们第三次点击相同的 URL 时才会发生这种情况。前两次效果很好。
  • 只是一个想法。连接完成后你会打电话给releaseConnection()吗?

标签: android android-5.0-lollipop androidhttpclient android-5.1.1-lollipop


【解决方案1】:

每次都有新的经理时实例化。

【讨论】:

    猜你喜欢
    • 2015-08-12
    • 1970-01-01
    • 2016-05-02
    • 2014-12-15
    • 1970-01-01
    • 1970-01-01
    • 2016-10-17
    • 2016-02-28
    • 2016-02-11
    相关资源
    最近更新 更多