在这里,我试图将一些数据从移动设备发布到服务器。为此,首先我必须登录服务器进行身份验证。然后在我通过 POST 请求发送数据后,我检查了这个相关的 stackoverflow 问题。HttpClient 4.0.1 - 如何释放连接?
我已经一一尝试了所有这些方法。
1.EntityUtils.consume(实体);
2.is.close();
response.getEntity().consumeContent(); //其中的consumeContent() 显示为已弃用
post.abort();
这是我在 pastebin 链接中的详细代码,请检查。
以下是程序流程。
第一次登录称为 检查这里我的登录请求
在登录之后和发布想法之前调用此方法。
最后调用post idea方法。
但 logcat 向我显示错误:
java.lang.IllegalStateException:BasicClientConnManager 的使用无效:连接仍然分配。
确保在分配另一个连接之前释放连接
W/System.err( 2217): java.lang.IllegalStateException: Invalid use of BasicClientConnManager: connection still allocated. W/System.err( 2217): Make sure to release the connection before allocating another one. W/System.err( 2217): at ch.boye.httpclientandroidlib.impl.conn.BasicClientConnectionManager.getConnection(BasicClientConnectionManager.java:161) W/System.err( 2217): at ch.boye.httpclientandroidlib.impl.conn.BasicClientConnectionManager$1.getConnection(BasicClientConnectionManager.java:138) W/System.err( 2217): at ch.boye.httpclientandroidlib.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:455) W/System.err( 2217): at ch.boye.httpclientandroidlib.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:902) W/System.err( 2217): at ch.boye.httpclientandroidlib.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:801) W/System.err( 2217): at ch.boye.httpclientandroidlib.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:780) W/System.err( 2217): at com.rahul.cheerfoolz.api.util.postData(util.java:436) W/System.err( 2217): at com.rahul.cheerfoolz.postidea.idea.post_myidea_edit$Post_Idea.doInBackground(post_myidea_edit.java:354) W/System.err( 2217): at com.rahul.cheerfoolz.postidea.idea.post_myidea_edit$Post_Idea.doInBackground(post_myidea_edit.java:1) W/System.err( 2217): at android.os.AsyncTask$2.call(AsyncTask.java:185) W/System.err( 2217): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306) W/System.err( 2217): at java.util.concurrent.FutureTask.run(FutureTask.java:138) W/System.err( 2217): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088) W/System.err( 2217): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581) W/System.err( 2217): at java.lang.Thread.run(Thread.java:1019)