什么是okhhtp?
一个处理网络请求的开源项目,是安卓端最火热的轻量级框架
OkHttp是什么,为什么要用OkHttp?
OkHttp是一个Http-client,它的主要优势:
·HTTP/2 支持允许所有访问同一主机的请求共享一个socket
·利用连接池减少请求延迟(如果HTTP/2不可用)
·支持GZIP压缩
·响应缓存减少重复请求
1、优点
支持SPDY, 可以合并多个到同一个主机的请,使用连接池技术减少请求的延迟(如果SPDY是可用的话) ,
使用GZIP压缩减少传输的数据量,缓存响应避免重复的网络请求、拦截器等等。
2.缺点
• 是消息回来需要切到主线程,主线程要自己去写。
• 调用比较复杂,需要自己进行封装。
• 缓存失效:网络请求时一般都会获取手机的一些硬件或网络信息,比如使用的网络环境。同时为了信息传输的安全性,可能还会对请求进行加密。在这些情况下OkHttp的缓存系统就会失效了,导致用户在无网络情况下不能访问缓存。
缓存失效解决方案:先过滤可变参数,然后进行手动缓存;不要使用随网络状态变化的参数;
Retrofit是Square开源的一款适用于Android网络请求的框架。Retrofit底层是基于OkHttp实现的,与其他网络框架不同的是,它更多使用运行时注解的方式提供功能。