💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
### Volley框架: google2013发布的android平台上的网络请求库 使用场景:并发、效率、性能要求高的场景 - **特点**: 1. 网络通信更快、更简单,效率高、稳定性高 2. Get、Post网络请求及网络图像的高效率异步请求 3. 对网络请求进行排序、进行优先级处理 4. 有网络请求的缓存 5. 多级别取消请求 6. 和Activity生命周期的联动 - **缺点**: 不适合进行网络数据的上传和下载 为什么使用volley? - 功能上: 1. 高效的Get、Post方式的数据请求交互 2. 网络图片加载和缓存、节省流量 - 其他: 3. google官方推出 4. 性能很稳定和强劲 - **Volley的网络请求队列建立和取消队列请求** 建立请求队列 取消某一个请求或者所有的请求队列 - **Volley和Activity生命周期的联动** - 特点: - 可以在Activity销毁时候,同时关闭请求 - 关键点 - 设置Tag标签,onStop()里执行取消请求 >[info] **注意**:Volley在API>=9时使用了HttpUrlConnection,去除了HttpClient,小于9时使用了HttpClient - **google 官方的介绍** 具有以下优点: ● 网络请求的自动调度。 ● 多个并发的网络连接。 ● 透明的磁盘和内存响应缓存与标准的HTTP [缓存一致性](http://note.youdao.com/noteshare?id=f5077d62d2fb66fa584d83dbf052fa04&sub=389849BDF04C4D89A1D0C7ACC0E951C5)。 ● 支持请求优先级。 ● 取消请求API。您可以取消一个请求,也可以设置请求取消的块或范围。 ● 缓解定制,例如,用于重试和退避。 ● 强大的排序,可以很容易地用从网络异步获取的数据填充你的UI界面。 ● 调试和跟踪工具 Volley是不适合大型下载或流媒体业务,因为Volley在分析过程中在内存中保存所有响应。对于大的下载操作,可以考虑使用类似的替代[DownloadManager](https://developer.android.com/reference/android/app/DownloadManager.html?hl=zh-cn)。 Volley非常不适合大的文件流操作,例如上传和下载。因为Volley会把所有的服务器端返回的数据在解析期间缓存进内存。大量的下载操作可以考虑用DownLoaderManager和异步加载来实现。 从官网clone代码时,报错链接超时,可以采用[这篇博客](http://note.youdao.com/noteshare?id=f5077d62d2fb66fa584d83dbf052fa04&sub=389849BDF04C4D89A1D0C7ACC0E951C5)的方法,(ps:我也用的是蓝灯代理的vpn)。 clone成功后,采用google官网提供的方法,[创建一个android库](http://note.youdao.com/noteshare?id=f5077d62d2fb66fa584d83dbf052fa04&sub=389849BDF04C4D89A1D0C7ACC0E951C5),创建成功后,将该库添加到你的Demo中作为依赖库即可。 * Volley和NoHttp的对比图示 ![](https://box.kancloud.cn/866384e8eeaa4d1eb4844c69d1f5e853_950x634.png)