这是我参与「第四届青训营 」笔记创作活动的第7天
-
Volley的Request和Response都是把数据方法放到byte[]数组里,不支持输入输出流,把数据放到数组中,如果大文件多了,数组就会非常大且多,消耗内存
-
行业内,目前基本上都是Retrofit 和 OkHttp组合的这种方式来进行网络请求
-
IO 和 NIO这两个都是Java中的概念,如果我从硬盘读取数据,第一种方式就是程序一直等,数据读完后才能继续操作这种是最简单的也叫阻塞式IO,还有一种是你读你的,程序接着往下执行,等数据处理完你再来通知我,然后再处理回调。而第二种就是 NIO 的方式,非阻塞式, 所以NIO当然要比IO的性能要好了,而 Okio是 Square 公司基于IO和NIO基础上做的一个更简单、高效处理数据流的一个库。\
Retrofit使用&原理介绍
准确来说,Retrofit 是一个 [RESTful](https://so.csdn.net/so/search?q=RESTful&spm=1001.2101.3001.7020) 的 HTTP 网络请求框架的封装。
原因:网络请求的工作本质上是 OkHttp 完成,而 Retrofit 仅负责 网络请求接口的封装
Retrofit并没有改变网络请求的本质,也无需改变,因为Okhttp已经足够强大,Retrofit的封装可以说是很强大,里
面涉及到一堆的设计模式,可以通过注解直接配置请求,可以使用不同的http客户端,虽然默认是用http ,可以使用
不同Json Converter 来序列化数据,同时提供对RxJava的支持,使用Retrofit + OkHttp + RxJava 可以说是目前比较
潮的一套框架,但是需要有比较高的门槛。
Retrofit的注解
Retrofit中有很多注解,这些注解总共分三类:HTTP请求方法、标记类、参数类;
1.HTTP请求方法注解
Retrofit支持八种HTTP请求方法注解,分别是:GET,POST,PUT,DELETE,HEAD,PATCH,OPTIONS,HTTP,其中前7种分别对应HTTP请求方法(见Retrofit初识小节1),而HTTP注解可自定义请求方法