2012-09-03 47 views
3

我有一個奇怪的問題。沒有設置android:targetSdkVersion我的http請求需要大約1..2秒才能完成,例如設置爲android:targetSdkVersion="16",請求需要大約20-30秒!Android設置android時緩慢的HTTP請求:targetSdkVersion> 10

我在請求開始時記錄了日誌,我注意到當我啓動Activity時,系統一直處於空閒狀態直到發出請求。

所有請求都在AsyncTask中運行。

下面是代碼:

BasicHttpParams httpParameters = new BasicHttpParams(); 
HttpConnectionParams.setConnectionTimeout(httpParameters, HTTP_POST_CONNECTION_TIMEOUT); 
HttpConnectionParams.setSoTimeout(httpParameters, HTTP_POST_SOCKET_CONNECTION_TIMEOUT); 
HttpPost httpPost = new HttpPost(url); 
httpPost.addHeader("Accept-Encoding", "gzip"); 
HttpClient httpClient = new DefaultHttpClient(httpParameters); 
... 
HttpResponse response = httpClient.execute(request); 

謝謝!

+0

我測試過,它發生在android:targetSdkVersion> = 13 –

+0

嘗試HTTPURLConnection而不是HTTPClient。 – Manikandan

回答

0

一般來說,你不應該在Android中使用DefaultHttpClient。請嘗試使用AndroidHttpClient。它包含對移動設備的一些更改和改進,所以它可能會對您有所幫助。

+0

對不起,這不起作用 –

+0

出現一些優化設置android:targetSdkVersion =「16」導致一些「鎖」 –

+0

這是記錄在某處? –