Android主流网络请求开源库的对比(Android-Async-Http、Volley、OkHttp、Retrofit)
来源:互联网 发布:大数据采集系统源代码 编辑:程序博客网 时间:2024/05/21 10:26
前言
- 背景
网络请求在 Android开发项目中很常见,为了降低开发周期和难度,我们经常会选用网络请求的开源库。 - 问题
而现在网络请求的开源库越来越多,我们应该选用哪种呢? - 解决方案
今天我就给大家分别介绍 & 对比现今主流的网络请求库。
目录
1. 为什么要用网络请求开源库?
网络请求开源库是一个将网络请求的相关功能封装好的类库,并对外提供Api:
没有网络请求框架之前
App想与服务器进行网络请求交互是一件很痛苦的事:因为Android的主线程不能进行网络请求,还需要另外开一个线程进行请求,然后又要考虑到线程池,缓存等一堆问题。使用网络请求库后(前人的轮子)
实现网络请求的需求同时不需要考虑:- 异步请求
- 线程池
- 缓存
- blabla
同时还:
- 降低开发难度
- 缩短开发周期
- 使用方便
2. 使用前知识了解
2.1 Android实现网络请求的主流方法(SDK自带)
- HttpClient
- HttpURLConnection
2.1.1 二者介绍&对比
HttpURLConnection
在Android2.2之前:HttpURLConnection 有个重大 Bug:调用 close() 函数会影响连接池,导致连接复用失效;所以Android2.2之前不建议使用HttpURLConnection
在Android2.2之后:HttpURLConnection默认开启了 gzip 压缩&提高了HTTPS 的性能
HttpClient
优点:相比于HttpURLConnection,更加高效简洁
缺点:结构过于复杂;维护成本高在5.0版本后被Android官方弃用
2.2 网络请求库和Android网络请求实现方法的关系
网络请求框架本质上是一个将网络请求的相关方法( HttpClient或HttpURLConnection)封装好的类库,并实现另开线程进行请求和处理数据,从而实现整个网络请求模块的功能。具体的关系可看下图:
3. 主流的网络请求库-介绍
如今Android中主流的网络请求框架有:
- Android-Async-Http
- Volley
- OkHttp
- Retrofit
下面是简单介绍:
4. 网络请求库- 对比
一图让你了解全部的网络请求库和他们之间的区别!
5. 各个主流网络请求库的Github地址
- Android-Async-Http
- Volley
- OkHttp
- Retrofit
6. 总结
- 总的来说,网络请求库没有说哪个最好,只有最合适,只有真的了解其使用场景才能很好的选择网络请求库。
- 本文对Android的主流网络请求库进行了全面的介绍 & 对比。接下来我会逐个介绍其使用方法 & 源码分析,有兴趣可以继续关注Carson_Ho的安卓开发笔记
请点赞!因为你的鼓励是我写作的最大动力!
相关文章阅读
3分钟全面了解Android主流图片加载库
Android开发:最全面、最易懂的Android屏幕适配解决方案
Android开发:Handler异步通信机制全面解析(包含Looper、Message Queue)
Android开发:顶部Tab导航栏实现(TabLayout+ViewPager+Fragment)
Android开发:底部Tab菜单栏实现(FragmentTabHost+ViewPager)
Android开发:JSON简介及最全面解析方法!
Android开发:XML简介及DOM、SAX、PULL解析对比
转载原文:http://blog.csdn.net/carson_ho/article/details/52171976
- 【常用开源库】Android主流网络请求开源库的对比(Android-Async-Http、Volley、OkHttp、Retrofit)
- Android主流网络请求开源库的对比(Android-Async-Http、Volley、OkHttp、Retrofit)
- Android主流网络请求开源库的对比(Android-Async-Http、Volley、OkHttp、Retrofit)
- Android主流网络请求开源库的对比(Android-Async-Http、Volley、OkHttp、Retrofit)
- Android主流网络请求开源库的对比(Android-Async-Http、Volley、OkHttp、Retrofit)
- Android主流网络请求开源库的对比(Android-Async-Http、Volley、OkHttp、Retrofit)
- Android网络库Android-Async-Http、Volley、Okhttp、Retrofit对比
- Android 网络框架(Android-async-http,OKHttp,retrofit,volley,xUtils,Afinal)
- Android网络请求XUtils、Volley、OkHttp、Retrofit
- Okhttp, Retrofit, android-async-http, Volley用哪个好
- okhttp,retrofit,android-async-http,volley应该选择哪一个?
- Okhttp, Retrofit, android-async-http, Volley用哪个好
- OkHttp, Retrofit, Volley,android-async-http怎么选择
- android网络请求框架的学习之路——浅谈对Volley,OkHttp,Retrofit的了解与对比
- android网络请求框架的学习之路——浅谈对Volley,OkHttp,Retrofit的了解与对比
- android网络框架选择volley, retrofit, android-async-http
- android网络请求框架的学习之路——浅谈对Volley,OkHttp,Retrofit的了解与对比 标签: androidVolleyOkhttpRetrofit网络请求框架
- Android 主流网络请求框架 Android-async-http
- 微信课堂如何制作
- mysql master 和slave的replication
- 机器学习:深入理解LSTM网络 (二)
- CSS引入方法中link和@import方法的区别
- android studio编程时出现的错误:you need to use a theme.appCompat theme(or descendant) with this a
- Android主流网络请求开源库的对比(Android-Async-Http、Volley、OkHttp、Retrofit)
- ExtJs——Ext.window.Window
- node.js 占用8080 端口的结束方案
- struts 不同包package之间的带参传递
- 报表加锁定表头后无法居中显示
- c# string类操作
- node js 进程守护神forever
- LED点阵
- SpringMVC REST 风格静态资源访问配置