今天去研究了一下经常使用的4个网络请求的方式作下记录java
httpurlconnection是sun公司出的java的api,优势是灵活,而且官方,缺点是什么都没有进行封装,用起来太原始了,不方便web
httpclient是队urlconnection进行了一层封装,优势是用起来简单,而且稳定,缺点是因为有大量的稳定的api,为了兼容性的问题,被谷歌放弃了api
volley是封装了urlconnection,而且对image-loader图片加载的类库进行了封装 ,处理起网路请求和图片更加的方便和简单,可是缺点是只适合一些小量数据的请求,在处理大文件下载就显得有点困难websocket
okhttp很好的支持了http库,支持同步,异步,并且实现了spdy,http2,websocket协议,并且也是谷歌推荐使用的,volley的性能更高,缺点是使用的时候必须再次进行一次封装,要不重复的东西太多,门槛较高网络
其实网络请求的方式框架不少,找见本身熟知原理的去用就能够了,这样子在之后的开发维护中出了问题就能够在本身的控制范围能力中框架