0
我有两个活动,在启动时都向我的服务器发出不同的http请求。 当我在它们之间来回切换时,响应开始有一些延迟,因为它们在彼此之间排队。Android:空默认HttpClient队列
我想清空并中止这个连接,只保留最新的连接。
我试图
httpClient.getConnectionManager().shutdown();
但它抛出
05-14 08:20:51.137 12627-12997/com.tesis.restapp E/AndroidRuntime﹕ FATAL EXCEPTION: AsyncTask #2
java.lang.RuntimeException: An error occured while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:278)
at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273)
at java.util.concurrent.FutureTask.setException(FutureTask.java:124)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307)
at java.util.concurrent.FutureTask.run(FutureTask.java:137)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:208)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
at java.lang.Thread.run(Thread.java:856)
Caused by: java.lang.IllegalStateException: Manager is shut down.
at org.apache.http.impl.conn.SingleClientConnManager.assertStillUp(SingleClientConnManager.java:175)
at org.apache.http.impl.conn.SingleClientConnManager.getConnection(SingleClientConnManager.java:213)
at org.apache.http.impl.conn.SingleClientConnManager$1.getConnection(SingleClientConnManager.java:191)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:326)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:580)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:512)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:490)
at support.JSONParser.makeHttpRequest(JSONParser.java:96)
at fragments.MainFragment$FetchOrders.doInBackground(MainFragment.java:150)
at fragments.MainFragment$FetchOrders.doInBackground(MainFragment.java:129)
at android.os.AsyncTask$2.call(AsyncTask.java:264)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)...
任何其他的想法?谢谢
没有得到你。你想同时开始两个电话? –
我想只将队列保持为一个呼叫。当创建一个新的请求时,我希望应用程序中止以前的所有操作,并从此开始。 – feresr
你试过这个httpclient.getConnectionManager()。closeExpiredConnections(); –