Android:无效使用SingleClientConnManager:仍然分配了连接

Pus*_*tal 10 java android httpclient httpconnection

可能重复:
使用HttpRequest.execute()的异常:无效使用SingleClientConnManager:仍然分配连接

我在Android工作.我创建了HttpSingleton类来在我的完整应用程序中创建HttpClient的单个intance.

这是我使用这个类的代码: -

HttpGet get = new HttpGet("url/dologin/savitagupta/savitagupta");
**HttpResponse rp = HttpSigleton.getInstance().execute(get);**          
if (rp.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
   // some code here
}
Run Code Online (Sandbox Code Playgroud)

这是我的单例实例

public class HttpSigleton {
  private static HttpClient instance = null;
  protected HttpSigleton() {

  }
  public static HttpClient getInstance() {
    if(instance == null) {
       instance =new DefaultHttpClient();
    }
    return instance;
 }
}
Run Code Online (Sandbox Code Playgroud)

然后发生错误是: -

SingleClientConnManager:无效使用SingleClientConnManager:仍然分配了连接.确保在分配另一个连接之前释放连接.请告诉我我做了什么错误.我真的需要你的帮助.先感谢您.

Car*_*uin 28

对于Android:

如果您对内容不感兴趣,最便宜的方法是摆脱连接并避免错误"连接仍然分配":

httpResponse.getEntity().consumeContent();
Run Code Online (Sandbox Code Playgroud)

请参阅http://developer.android.com/reference/org/apache/http/HttpEntity.html#consumeContent()


Tin*_*lon 20

致电后:

HttpResponse rp = HttpSigleton.getInstance().execute(get);
Run Code Online (Sandbox Code Playgroud)

请确保拨打以下任一电话:

String html = EntityUtils.toString(rp.getEntity() /*, Encoding */);
Run Code Online (Sandbox Code Playgroud)

要么

EntityUtils.consume(rp.getEntity());
Run Code Online (Sandbox Code Playgroud)