Skip to content
阅读进度

OkHttp 与 Retrofit 分别做什么? ​

返回 网络与设备通信 目录

标准回答 ​

OkHttp 是 HTTP 客户端,处理连接、请求响应、缓存和拦截器;Retrofit 用接口与注解描述 API,再通过 OkHttp 等调用机制发送请求,并由转换器处理数据。

关键机制 ​

  • 一次请求可经历 DNS、建连、TLS、发送、服务端处理、响应读取;复用连接能减少重复握手。
  • 拦截器适合统一认证、请求标识和日志;日志应避免输出令牌、密码与完整个人数据。
  • 需要连接、读取、写入和整体调用超时;页面退出时应取消不再需要的请求,错误分为网络、HTTP 与业务错误。

通俗例子 ​

调用 getDevices 后,Retrofit 根据注解生成 URL,OkHttp 发出请求,JSON 转换器生成数据对象,Repository 决定如何缓存,ViewModel 转成页面状态。

易混淆点 ​

HTTP 200 不保证业务成功;能重试不代表能盲目重试,带副作用的请求要考虑幂等。

参考资料 ​

内容来源 ​

用完整回答理解机制,用真实证据解释项目。