android okhttp 优化,android - OKHttp HEAD请求 - 优化速度 - SO中文参考 - www.soinside.com

我需要建立一个URL头服务,以最快的速度提供所有标头的任何URL成为可能。

我已经写单元和仪器化检验,看是否OKHttp将是能为我做到这一点。

下面是测试

class GetHeadersTest {

@Test

fun GetHeaders() {

val startTime: Long = System.currentTimeMillis()

println("START: ${startTime}")

val testHeaderURL = "https://s3-eu-west-1.amazonaws.com/somefolder/image37.jpg"

println("URL VARIABLE: ${System.currentTimeMillis() - startTime}ms")

val client = OkHttpClient()

val clientTime = System.currentTimeMillis() - startTime

println("OK HTTP CLIENT: ${clientTime}ms")

val request = Request.Builder().url(testHeaderURL).head().build()

val requestTime = System.currentTimeMillis() - startTime

println("OK HTTP REQUEST: ${requestTime}ms")

val response = client.newCall(request).execute()

val responseTime = System.currentTimeMillis() - startTime

println("OK HTTP RESPONSE: ${responseTime}ms: $response")

println("END: ${System.currentTimeMillis()}")

}

}

结果是相当令人惊讶的我,从浏览器的世界即将到来。

START: 1548683216245

URL VARIABLE: 0ms

OK HTTP CLIENT: 357ms

OK HTTP REQUEST: 370ms

OK HTTP RESPONSE: 750ms: Response{protocol=http/1.1, code=200, message=OK, url=https://s3-eu-west-1.amazonaws.com/somefolder/image37.jpg}

END: 1548683216995

我在实例化每个请求,我显然不会在正常情况下做一个新的OkHttpClient。然而一个380ms的响应时间为一个简单的HEAD请求似乎极端。结果是单位和仪表测试相同。

我试着用HTTP和结果如下

START: 1548683574373

URL VARIABLE: 0ms

OK HTTP CLIENT: 338ms

OK HTTP REQUEST: 350ms

OK HTTP RESPONSE: 508ms: Response{protocol=http/1.1, code=200, message=OK, url=http://s3-eu-west-1.amazonaws.com/somefolder/image37.jpg}

END: 1548683574881

虽然这种方法是最网址,这几天都在HTTPS相当无用的,时机正在接近我期望一个HTTPS HEAD请求。

所以,问题是 - 我怎么能做出这样得更快?这似乎是对SSL连接的时间相比,浏览器的世界很慢。因为它是一个HEAD请求,我可以放松SSL条件和忽略任何反应?

是OKHttp错包制作HEAD请求?我应该直接去URLConnection?

任何人的任何意见大加赞赏。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值