2

我有一個應用程序使用loopj的android-async-http庫來聯網檢索JSON。我看到網絡請求緩慢,每個請求大約需要1秒。來自iOS應用程序的相同調用大約需要250ms,所以我知道問題不在服務器上,而是在客戶端。把日誌消息放在我的代碼和android-async-http庫中以查看它的速度緩慢,我看到時間被android-async-http中的client.execute(request,context)調用佔用圖書館。httpclientandroidlib由android-async-http使用loopj很慢

我知道谷歌不再建議使用Apache HTTP客戶端,但android-async-http使用它。

我試過使用httpclienandroidlib-1.1.2,它修復了我所看到的一些其他錯誤,但沒有提高性能。

我確保保持活動狀態已打開並正常工作。這將後續請求改進爲大約750毫秒。第一個請求仍然很慢,我們的iOS應用程序在後續請求中速度更快。

有人看到Android上的網絡速度很慢嗎?如果是這樣,你做了什麼來改進它?

回答

0

我在你的鏈接w/android中使用相同的庫。

我使用了一個線程池,每個域有5個線程,異步類似http速度的處理程序和一個快速服務器。

loop-j或純異步http可能不是必需的。在你的情況下,它肯定不是很快。

我用WIFI當前設備上的Android 4.2,可以飽和全部可用帶寬與HTTP請求的分數單一的WiFi用戶...

我得到20 - 30 REQ。每上傳80k的二進制數據,每秒上傳一次。

http://pastebin.com/v4EDq6mr

滾動的pastbin到第57行的詳細信息。