大家好,
我的应用程序需要在Android上使用HttpClient(HTTP GET)查找下载小型文件所用的时间。
我在HttpClient.execute之前和之后捕获了nanoTime,以便找出经过的时间。与此同时,我收集了TCP转储,以找出HTTP GET和响应200之间的经过时间。
我发现nanoTime的差异比TCP转储的经过时间高30%到50%。
有没有建议尽量减少这种差异?使用Httpurlconnection?
致以最诚挚的问候,
霍英东
答案 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开销。 (当然你还没有这样做,愚蠢的问题。)