Android:SingleClientConnManager 的使用无效:连接仍然分配[重复]
Posted
技术标签:
【中文标题】Android:SingleClientConnManager 的使用无效:连接仍然分配[重复]【英文标题】:Android: Invalid use of SingleClientConnManager: connection still allocated [duplicate] 【发布时间】:2012-03-08 14:13:32 【问题描述】:可能重复:Exception using HttpRequest.execute(): Invalid use of SingleClientConnManager: connection still allocated
我在 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 的使用无效:连接仍然分配。 确保在分配另一个连接之前释放连接。 请告诉我我犯了什么错误。我真的需要你的帮助。 提前谢谢你。
【问题讨论】:
【参考方案1】:调用后:
HttpResponse rp = HttpSigleton.getInstance().execute(get);
请确保您拨打以下任一电话:
String html = EntityUtils.toString(rp.getEntity() /*, Encoding */);
或
EntityUtils.consume(rp.getEntity());
【讨论】:
【参考方案2】:对于安卓:
如果您对内容不感兴趣,摆脱连接并避免“仍然分配连接”错误的最便宜的方法是:
httpResponse.getEntity().consumeContent();
见http://developer.android.com/reference/org/apache/http/HttpEntity.html#consumeContent()
【讨论】:
以上是关于Android:SingleClientConnManager 的使用无效:连接仍然分配[重复]的主要内容,如果未能解决你的问题,请参考以下文章
Android 逆向Android 权限 ( Android 逆向中使用的 android.permission 权限 | Android 系统中的 Linux 用户权限 )