shm*_*ova 7 android okhttp okhttp3
我使用 newOkHttp EventListener来调试为什么我的请求需要这么长时间。结果如下:
0,000 callStart
0,027 dnsStart
5,189 dnsEnd
5,359 secureConnectStart
5,907 secureConnectEnd
5,910 connectEnd
5,921 connectionAcquired
5,925 requestHeadersStart
5,930 requestHeadersEnd
5,938 responseHeadersStart
6,181 responseHeadersEnd
6,189 responseBodyEnd
6,233 connectionReleased
Run Code Online (Sandbox Code Playgroud)
如您所见,从dnsStart和 开始的dnsEnd时间大约需要 5 秒。我怎样才能减少这个值?有什么方法可以预热 dns 查找或缓存或其他东西?
您可以尝试编写自定义 dns 解析器,请参阅https://square.github.io/okhttp/4.x/okhttp/okhttp3/-ok-http-client/-builder/dns/。
但我建议仅当您检测到 dns 查找时间很长时才执行此操作。