OkHttpClient同步請求的執行流程和源碼分析
同步請求示例
OkHttpClient okHttpClient = new OkHttpClient.Builder().readTimeout(5, TimeUnit.SECONDS).build();
Request request = new Request.Builder().url("https://www.baidu.com").get().build();
Call call = okHttpClient.newCall(request);
try {
Response response = call.execute();
Log.e(TAG,"response: " + response.body().string());
} catch (IOException e) {
e.printStackTrace();
}
同步請求的步驟
-
創建OkHttpClient對象和Request對象,均是採用Builder模式創建,構建者(Builder)設計模式(又叫生成器設計模式)
-
將Request封裝成Call對象
-
調用Call的execute()方法發送同步請求,發送請求後,就會進入阻塞狀態,直到收到響應。
一、(1)OkHttpClient Builder對象分析
public Builder() {
dispatcher = new Dispatcher();
protocols = DEFAULT_PROTOCOLS;
connectionSpecs =