美文网首页
网络请求横向比较

网络请求横向比较

作者: r8HZGEmq | 来源:发表于2017-03-17 10:14 被阅读0次

    网络请求(单一职责原则Volley、OkHttp、Retrofit、android-async-http作者不再维护,因为它所基于的android自带的httpclient被废弃)(图片加载,数据存储,View 注解)

    OKHTTP和javaapi里的HttpUrlConnection使用类似,具体使用方法几行代码可以在官网查询,也可以继续在此基础上封装。下面一句话简述okhttp的使用:

    而volley是google出的一套小巧的库,支持httpclient,httpurlconnection甚至okhttp,设计初衷是为小量而频繁的请求而生。下面也用一句话来简述volley的使用

    volley之所以这么屌,离不开它的缓存机制,每个请求算作一个task的话,它会将高频次的task存在缓存中。每次请求先从缓存中查找,失败了才继续网络请求

    Retrofit也是square公司基于okhttp封装的一套RESTful网络请求框架,REST是client和server之间的一种交互形式而已本身不实用,设计RESTful风格的api才厉害。这东西理解起来费劲,贴两句话简单感受一下吧。REST架构中,url用名词来指定资源而不是动词,资源是网络核心是用动词来实现资源的状态扭转,如:

    DELETE http://api.qc.com/v1/friends: 删除某人的好友 (在http parameter指定好友id)

    POST http://api.qc.com/v1/friends: 添加好友


    叽叽歪歪这么多,项目中怎么选型,根据下面的原则来参考:

    okhttp VS volley:okhttp基于nio,不阻塞,采用回调形式执行线程。性能更优秀

    所以如果轻量级的请求,建议用volley,它甚至能load一些简单的图片,而如果需要post大数据,则使用okhttp


    nio的不阻塞,我也贴个图感受一下

    相关文章

      网友评论

          本文标题:网络请求横向比较

          本文链接:https://www.haomeiwen.com/subject/qvtenttx.html