需要提高Android的HttpClient的性能

时间:2014-02-20 14:27:55

标签: java android httpclient httpurlconnection

大家好,

我的应用程序需要在Android上使用HttpClient(HTTP GET)查找下载小型文件所用的时间。

我在HttpClient.execute之前和之后捕获了nanoTime,以便找出经过的时间。与此同时,我收集了TCP转储,以找出HTTP GET和响应200之间的经过时间。

我发现nanoTime的差异比TCP转储的经过时间高30%到50%。

有没有建议尽量减少这种差异?使用Httpurlconnection?

致以最诚挚的问候,

霍英东

2 个答案:

答案 0 :(得分:2)

如果它是简单的GET(没有授权等),我会使用Socket并实现简单的GET方法。

https://developer.android.com/reference/java/net/Socket.html

答案 1 :(得分:0)

Google recommends使用HttpURLConnection。也许你可以使用SPDY提高速度,例如使用OkHttp,但必须得到网络服务器的支持。

BTW你是怎么得到TCP转储的?在Android设备上?根?或者在您的网络服务器上。如果是web-server,那么你的测量延迟,而不是HttpClient开销。 (当然你还没有这样做,愚蠢的问题。)