请教一个问题,如下代码
public class OKHttpUtil {
public static String contentType="text/html; charset=UTF-8";
public static int timeOunt = 30;
public static OkHttpClient client = new OkHttpClient.Builder().readTimeout(timeOunt, TimeUnit.SECONDS).build();
public static String sendPost(String url, Map<String, String> paramMap){
FormBody.Builder builder = new FormBody.Builder();
Iterator it = paramMap.keySet().iterator();
while (it.hasNext()){
String key = it.next().toString();
builder.add(key,paramMap.get(key));
}
Request request = new Request.Builder().url(url).addHeader("Content-Type",contentType).post(builder.build()).build();
Response response = null;
try {
response = client.newCall(request).execute();
return response.body().string();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
/**
* 异步发送
* @param url
* @param paramMap
* @param callback
*/
public static void sendPostAsyn(String url, Map<String, String> paramMap ,Callback callback){
FormBody.Builder builder = new FormBody.Builder();
Iterator it = paramMap.keySet().iterator();
while (it.hasNext()){
String key = it.next().toString();
builder.add(key,paramMap.get(key));
}
Request request = new Request.Builder().url(url).addHeader("Content-Type",contentType).post(builder.build()).build();
Call call = client.newCall(request);
call.enqueue(callback);
}
}
第一次使用这个框架不是很了解,现在有2个疑问,想请教下对这个框架比较了解的朋友!
第一个疑问:
使用一个OkHttpClient 对象 在高并发时,能否即发送同步请求,又发布异步请求。如,使用
OKHttpUtil.sendPostAsyn 发送异步后,在调用OKHttpUtil。sendPost 发送同步,发送使用同一个OkHttpClient 对象。
第二个疑问
OkHttpClient 对象每次发送都要new ,还是可以像代码中初始化一个静态的一直使用