android 开发 常用到的一些网络通信包

无线开发一定少不了与服务端进行交互,这自然离不开使用类似于HttpClient的工具包来发送和接受HTTP请求。常用的有一些这些:
1. Apache 的 HttpClient(Android2.3之前使用)
2. Android 简化扩展版 HttpUrlConnection
3. Google 推出的 Volley(在Android2.3之前使用HttpClient,之后使用HttpUrlConnection)
4. Git开源项目Okhttp (使用http+SPDY协议)
5. Android-async-http
6. Retrofit(默认使用Okhttp作为传输层)
7. Android Query
8. Android AsyncTask

HttpClient 与 HttpUrlConnection对比:

对于HttpClient 大家都比较熟悉,这里就不做多余阐述,为什么使用HttpUrlConnection呢?主要原因是因为HttpClient虽然稳定,但是太庞大了,在Android上不易做升级和扩展,所以才有了轻量级的HttpUrlConnection。HttpUrlConnection相比与HttpClient做的扩展点可以参考下面的博客。
参考:
http://blog.csdn.net/guolin_blog/article/details/12452307
http://android-developers.blogspot.com/2011/09/androids-http-clients.html

Volley中使用的也是HttpUrlConnection,那么Volley在HttpUrlConnection上有没有改进呢?还有待查阅相关资料。

Android自带的AsyncTask:不推荐使用。

弊端:
1. 不支持环境改变;
2. 不能取消网络请求;
3. 没有简单的方法来做并发API调用;
4. 每个时刻只能有一个AsyncTask任务可以运行;
5. ancle()方法并不会起作用;
6. Activity被销毁,还保持Activity的引用时,可能导致内存泄露;
7. Activity reCreated时,可能导致AsyncTask的结果丢失;
8. 串行或并行的不确定性,依赖API Level的不同而不同;
AsyncTas阴暗的一面:http://bon-app-etit.blogspot.in/2013/04/the-dark-side-of-asynctask.html

OkHttp、Volley、Retrofit三者对比:

Volley的特点:
1. Volley的优势在于处理小文件的http请求;
2. 在Volley中也是可以使用Okhttp作为传输层;参考:https://plus.google.com/+JakeWharton/posts/eJJxhkTQ4yU
3. Volley在处理高分辨率的图像压缩上有很好的支持;
4. NetworkImageView在GC的使用模式上更加保守,在请求清理上也更加积极,networkimageview仅仅依赖于强大的内存引用,并当一个新请求是来自ImageView或ImageView离开屏幕时 会清理掉所有的请求数据。
5. Volley比Retrofit在内存错误处理上要更好。
Retrofit的特点:
1. 使用REST API时非常方便;
2. 传输层默认就使用OkHttp;
3. 支持NIO;
4. 拥有出色的API文档和社区支持
5. 速度上比volley更快;
OkHttp的特点:
支持SPDY(请求头压缩、并行请求、强制SSL、服务端推送);

三者的性能基线:
其中Volley与Retrofit的对比,参考:http://instructure.github.io/blog/2013/12/09/volley-vs-retrofit/
三者对比参考:http://stackoverflow.com/questions/16902716/comparison-of-android-networking-libraries-okhttp-retrofit-volley

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以C++形式对功能进行封装。做的相当不错,开发文档及代码说明服务器开发说明 安装: l 头文件:include目录下的文件 l 库文件:lib目录下文件spBase.lib,spBase_D.lib 将上面文件分别拷贝入VC的INCLUDE和LIB目录,或者拷贝入其他目录但是需要在VC环境中设置目录。 使用许可: 如果你使用本开发进行开发请保证能够遵守下面规定: 使用许可:本开发提供了源代码,并且任何人可以免费使用,本开发可以使用在任何应用,允许使用者直接在我提供的源代码文件上进行修改。 开发的使用者需要自行承担使用本开发的风险,开发作者不会为使用本开发带来的任何影响和损失负责。 允许通过任何方式散发本开发的拷贝或者是随同你开发的软件代码一起散发,但是前提是只能散发未经过任何修改的开发拷贝,并且在散发时必须保证下载的完整性,即至少需要括此处下载的所有文件中的源代码,文档和例程。 请注意:对于经过任何修改的新版本不能以本开发的名义进行散发。 开发和修改历史: 2001/09/01:发布1.0版本,提供开发中基本功能。完成TCP Socket服务器模式。 2002/02/01:添加网络通信开发。 2002/03/01:添加队列管理开发。 2002/06/01:发布2.0版本,添加故障检测与负载收集功能。 2002/11/01:发布2.5版本,以LIB形式发布开发。将服务器相关功能合并进入spBase,将网络开发单独分离为commIPC。重新整理例程。 2003/05/01:发布3.0版本,添加网络长连接功能。 2003/08/01:发布3.5版本,添加字符窗口,添加远程监控功能,添加了带有远程监控功能的服务器模式,以例程方式提供带有远程监控功能的服务器框架程序。以VS 2003/VC7作为开发工具。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值