改造第一个请求需要精确的 OkHttpClient 超时

Raf*_*ima 6 android connection-pooling okhttp retrofit2

我正在使用 Retrofit 和 OkHttpClient 在 Android 上构建 Rest API。

前一段时间,我注意到 api 发出的第一个请求总是比其他所有请求花费更长的时间来处理......一开始我并不关心,因为这是一个可以接受的时间。

但突然请求时间跳到了 60 秒

所有这些时间都是浪费客户端,因为监控服务器我发现处理时间不到 1 秒......

我想知道我做了什么更改会导致如此高的影响,然后我意识到我更改了 OkHttp 的连接超时。

我已将值从 10 秒更改为 60 秒只是为了测试......

我做了一些实验,将 connectTimeout 设置为许多其他值,并且第一个请求的时间始终远远高于超时

有谁知道是什么可能导致这种奇怪的行为?怎么解决呢?

附言。我需要在桌面上测试 api,但这个问题没有发生,我的意思是它只发生在 Android 设备上 [我尝试了几个] 原因是什么?

Jes*_*son 0

EventListener您可以在您的中配置OkHttpClient并使用它来查看时间的花费情况。