OkHttp相关问题全解析,字节跳动Android面试凉凉经
transmitter.timeoutEnter()
transmitter.callStart()
try {
client.dispatcher.executed(this)//第1步
return getResponseWithInterceptorChain()//第2步
} finally {
client.dispatcher.finished(this)//第3步
}
}
把大象装冰箱,统共也只需要三步。
第一步
调用Dispatcher的execute方法,那Dispatcher是什么呢?从名字来看它是一个调度器,调度什么呢?就是所有网络请求,也就是RealCall对象。网络请求支持同步执行和异步执行,异步执行就需要线程池、并发阈值这些东西,如果超过阈值需要将超过的部分存储起来,这样一分析Dispatcher的功能就可以总结如下:
记录同步任务、异步任务及等待执行的异
共有 0 条评论