我在Android工作。我创建了HttpSingleton类来在我的完整应用程序中创建HttpClient的单个内容。
这是我使用此类的代码: -
HttpGet get = new HttpGet("url/dologin/savitagupta/savitagupta");
**HttpResponse rp = HttpSigleton.getInstance().execute(get);**
if (rp.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
// some code here
}
这是我的单个实例类
public class HttpSigleton {
private static HttpClient instance = null;
protected HttpSigleton() {
}
public static HttpClient getInstance() {
if(instance == null) {
instance =new DefaultHttpClient();
}
return instance;
}
}
然后发生错误: -
SingleClientConnManager:无效使用SingleClientConnManager:仍然分配了连接。 确保在分配另一个连接之前释放连接。 请告诉我我做了什么错误。我真的需要你的帮助。 提前谢谢。
答案 0 :(得分:28)
对于Android:
如果您对内容不感兴趣,最简单的方法是摆脱连接并避免错误“连接仍然分配”:
httpResponse.getEntity().consumeContent();
请参阅http://developer.android.com/reference/org/apache/http/HttpEntity.html#consumeContent()
答案 1 :(得分:20)
致电:
HttpResponse rp = HttpSigleton.getInstance().execute(get);
请确保拨打以下任一电话:
String html = EntityUtils.toString(rp.getEntity() /*, Encoding */);
或
EntityUtils.consume(rp.getEntity());