Invalid use of SingleClientConnManager: connection still allocated



httpPost.releaseConnection();  该代码只会复用连接,并不会关闭当前连接,其实下面的方法client.getConnectionManager().closeIdleConnections(0, TimeUnit.MICROSECONDS); 在某些时候也没关闭,感觉和httpPost.releaseConnection(); 只是起到同样复用的结果,两个都写更加保障(在某些版本中两个方法只会有其中一个)

httpclient 4种关闭连接  参考这里面的4种方法  (个人未试过) 第三种方法貌似可以 

在android4.2中   client.getConnectionManager().closeIdleConnections(0, TimeUnit.MICROSECONDS);

在httpclient 4.2 种   client.getConnectionManager().closeIdleConnections(0, TimeUnit.MICROSECONDS);

经测试 ,上面两种调用也无用

client.getConnectionManager().closeIdleConnections(0, TimeUnit.MICROSECONDS); 
在上面加上
httpGet.abort();  
就再也没有出现该错了


代码

  1. String result = null;
  2. HttpPost httpPost = new HttpPost(serverUrl);
  3. try {
  4. StringEntity e = new StringEntity(bodyStr,"UTF-8");
  5. httpPost.setEntity(e);
  6. httpPost.setHeader("Content-Type", "text/xml;charset=UTF-8");
  7. HttpResponse response = this.client.execute(httpPost);
  8. if(response.getStatusLine().getStatusCode() == 200) {
  9. result = EntityUtils.toString(response.getEntity(), "utf-8");
  10. }
  11. } catch (Exception var10) {
  12. LogL.e(var10.getMessage());
  13. result = null;
  14. }finally {
  15. httpPost.abort(); //终止
  16. client.getConnectionManager().closeIdleConnections(0, TimeUnit.MICROSECONDS); //再次调用确保回收
  17. }
  18. return result;


终极方法

client  = new .... (重新实例化client)



最新文章

  1. 【原】谈谈对Objective-C中代理模式的误解
  2. Add&Delete WindowService
  3. Javascript aop(面向切面编程)之around(环绕)
  4. 【转】unity开发android游戏(一)搭建Unity安卓开发环境
  5. MS SQL 多连接数时修改数据库名称
  6. LeetCode 152
  7. 【踩坑记】从HybridApp到ReactNative
  8. js 图片转换为base64 (2)
  9. DSAPI多功能组件编程应用-HTTP监听服务端与客户端_指令版
  10. 一统江湖的大前端(7)React.js-从开发者到工程师
  11. 机器学习入门-BP神经网络模型及梯度下降法-2017年9月5日14:58:16
  12. 使用Three.js为QQ用户生成3D头像阵列
  13. <转>jmeter(十九)HTTP属性管理器
  14. Redis客户端集群
  15. XE7 Unit scope names
  16. npm 安装cnpm
  17. strtok()函数
  18. parameter "timeout" in socketchannel does not work
  19. 【[TJOI2017]异或和】
  20. MySQL 安装 + Windows7

热门文章

  1. SWIG 快速入门
  2. [Todo] Java并发编程学习
  3. windows安装Jupyter Notebook
  4. android4.0 USB Camera实例(三)UVC
  5. ffmpeg & mplayer & vlc 手册(转)
  6. KineticJS教程(7)
  7. Unity发布各平台路径
  8. om.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException
  9. 15-spring学习-集合表达式
  10. linux sort 、uniq 命令