网络请求框架对比
2017-02-07 18:22
204 查看
什么是网络请求?
Android中网络请求方式有几种, 区别是什么?
Http协议:
什么是Volley?
早期Android发送http请求的方式有两种:HttpURLConnection和HttpClient. 在Android5.1后Google废除了对HttpClient的支持,而后官方开始推荐使用Volley进行网络请求框架, 它也是对HttpURLConnection的封装.
Volley的优缺点?
优点:适合进行数据量不大但网络请求频繁的操作, 对于大数据的网络操作, 如下载Volley就表现很糟糕.
为什么Volley不适合进行大数据请求?
I HttpStack
- HurlStack:基于HttpURLConnction的网络请求封装类.
- HttpClientStack
1.创建缓存路径, 根据系统版本号选择使用HurlStack还是HttpClientStack,如果大于9则使用HurlStack.
2.创建BasicNetwork, 将HttpStack传入进去(BaseicNetwork是Network的实现类)
I Network :
3.创建请求队列,接收Cache和Network两个对象, 调用start()然后返回请求队列.
I Cache
- NoCache
- DiskBasedCache
Android中网络请求方式有几种, 区别是什么?
Http协议:
什么是Volley?
早期Android发送http请求的方式有两种:HttpURLConnection和HttpClient. 在Android5.1后Google废除了对HttpClient的支持,而后官方开始推荐使用Volley进行网络请求框架, 它也是对HttpURLConnection的封装.
Volley的优缺点?
优点:适合进行数据量不大但网络请求频繁的操作, 对于大数据的网络操作, 如下载Volley就表现很糟糕.
为什么Volley不适合进行大数据请求?
刚开始我也有这个疑惑,解答疑惑的最好方式就是 Read The Fucking Source Code. 1. Volley的网络请求线程池默认大小为4。意味着可以并发进行4个请求,大于4个,会排在队列中。 2. Request#getBody() 方法返回byte[]类型,作为 Http.POST 和 Http.PUT body 中的数据。这就意味着需要把用 http 传输的数据一股脑读取到内存中。如果文件过大,内存... 考虑这样一个场景: 你同时上传4个文件,这四个文件都很大,这时候你的内存占用就很高,很容易oom。 这时候,你发网络请求,调用普通api。 所有的网络线程都被上传文件的任务占满了,你的网络请求只有在文件上传完毕后才能得到执行。体验就是,很慢! 所以Volley适合数据量小,频率快的请求。
Volley源码分析:
联网请求接口, 可以自定义网络请求类,实现HttpStack在创建请求队列时将此类传入即可.I HttpStack
- HurlStack:基于HttpURLConnction的网络请求封装类.
- HttpClientStack
public HttpResponse performRequest(Request<?> request, Map<String, String> additionalHeaders)
1.创建缓存路径, 根据系统版本号选择使用HurlStack还是HttpClientStack,如果大于9则使用HurlStack.
2.创建BasicNetwork, 将HttpStack传入进去(BaseicNetwork是Network的实现类)
I Network :
public NetworkResponse performRequest(Request<?> request)
3.创建请求队列,接收Cache和Network两个对象, 调用start()然后返回请求队列.
I Cache
- NoCache
- DiskBasedCache
相关文章推荐
- android 常用网络请求框架对比
- 网络请求框架对比
- android网络请求框架的学习之路——浅谈对Volley,OkHttp,Retrofit的了解与对比 标签: androidVolleyOkhttpRetrofit网络请求框架
- Android常用网络请求框架xUtils、OkHttp、Volley、Retorfit对比
- 安卓开发常用网络请求框架OkHttp、Volley、XUtils、Retrofit对比
- IOS网络请求框架AFNetworking和ASIHttpRequest对比
- 网络请求框架对比
- android网络请求框架的学习之路——浅谈对Volley,OkHttp,Retrofit的了解与对比
- Android 网络请求框架对比分析
- android网络请求框架的学习之路——浅谈对Volley,OkHttp,Retrofit的了解与对比
- android网络请求框架 HttpClient与Volley的性能对比
- iOS网络请求框架的比较
- iOS网络请求第三方框架:MKNetworkKit介绍及简单使用
- iOS经验1:自己写的网络数据请求 第三方框架 断点续传 上传下载
- 一个iOS 网络请求框架介绍:MKNetworkKit
- 网络请求框架---Volley
- 【iOS开发-96】网络请求总结,深浅拷贝copy和mutableCopy,SDWebImage图像下载第三方框架
- ios 网络请求框架
- 网络请求框架---Volley
- iOS 网络请求框架AFNetworking使用方法(欢迎提建议和分享遇到的问题)