首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
OkHttp
南北是北北
创建于2025-10-16
订阅专栏
浅析
等 2 人订阅
共5篇文章
创建于2025-10-16
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
粗粒度说一下OkHttp是如何设计的
1)架构分层(你要记住的几个核心角色) API 层:OkHttpClient(不可变、Builder 配置)、Request/Response(不可变)、Call(一次请求任务,可 execute()
OkHttp 的连接池(ConnectionPool)
一、怎么配置(以及默认值) 默认:新建 OkHttpClient() 时会带一个默认连接池,最多保留 5 个空闲连接,空闲 5 分钟后逐出。这个默认值在官方文档/3.x Javadoc 里写得很清楚。
OkHttp的线程参数为何要这样设置
简短结论:OkHttp 默认把异步请求的执行器配成**“缓存线程池”语义** corePoolSize=0、maximumPoolSize=Integer.MAX_VALUE、keepAlive=60
OkHttp 异步请求的“线程池 + 调度器(Dispatcher)”
1) 用的是什么线程池? OkHttp 的异步请求由 Dispatcher 驱动,内部默认懒创建一个 ThreadPoolExecutor(近似 Cached 线程池) : corePoolSize
OkHttp 的 Dispatcher 调度机制
总体思路 Dispatcher 维护三组队列并用一个 ExecutorService 执行异步任务: readyAsyncCalls:已排队、等待调度的异步请求 runningAsyncCalls:正