1.OKHttp同步和异步的区别
同步:execute()方法
请求网络数据要在子线程中完成操作,然后发送到主线程
同一时间只允许跑一个线程任务,是耗时操作
异步:enqueue()方法
允许多线程任务,效率高
同步是阻塞式的,是在当前线程执行
异步是并发式的,它会自动启动一个新的线程处理逻辑
2.简述OKHttp的使用步骤
添加网络配置
导入OKHttp依赖
创建请求对象(get请求不需要此步骤)
创建FormBody
创建请求体
请求对象.newCall(请求体)
绑定
调用同步execute()或异步enqueue()处理数据
3.OKHttp使用了哪些设计模式
单例模式
原型模式
外观模式
代理模式
策略模式
亨元模式
桥接模式
组合模式
创建者模式
建造者模式
责任链模式
观察者模式
装饰器模式
适配器模式
过滤器模式
工厂发放模式
模板方法模式
抽象工厂模式
4.HttpURLConnection及OKHttp3的对比分析
HttpURLConnection:是一种多用途、轻量极的HTTP客户端,请求到的数据是流,使用它来进行HTTP操作可以适用于大多数的应用程序;
按照层级来说。
OkHttp和HttpUrlConnection是一级的,用socket实现了网络连接,OkHttp进行网络请求封装,优化了网络请求效率,使用方便简单。
5.Retrofit和OKHttp的区别
Retrofit底层是使用OKHttp封装的,网络请求的工作本质上是OkHttp完成,而Retrofit 负责网络请求接口的封装,使用接口和注解形式请求网络数据,使用方便简单。
Okhttp通过创建okhttpclient,request,和call对象进行同步异步数据请求。
网友评论