您的位置:首页 > 理论基础 > 计算机网络

volley okhttp universal-image-loader对比分析

2015-07-07 17:54 471 查看
一、Volley

下载地址: https://github.com/smanikandan14/Volley-demo

特点:Volley是Android平台上的网络通信库,能使网络通信更快,更简单,更健壮。

功能点:

JSON,图像等的异步下载

网络请求的排序(scheduling)

网络请求的优先级处理

缓存

多级别取消请求

和Activity和生命周期的联动(Activity结束时同时取消所有网络请求)

架构设计:

Volley使用了线程池来作为基础结构,主要分为主线程,cache线程和network线程。主线程和cache线程都只有一个,而NetworkDispatcher线程可以有多个,这样能解决比并行问题

优点:volley简化了网络通信这块的开发,特别是针对数据量不大但网络通信频繁,对JSON对象,图片加载这两块进行了很好的封装和支持,

缺点:对大数据(large payloads ),流媒体,这些case不能很好的支持,还需要使用原始的方法,比如Download Manager等。

http://lzyblog.com/page/2/

/article/1546769.html

http://yanmingming.sinaapp.com/

/article/1914718.html

二. Okhttp square开源的http工具类

项目地址:https://github.com/square/okhttp

文档介绍:http://square.github.io/okhttp/

特点:(1) 支持SPDY(http://zh.wikipedia.org/wiki/SPDY)协议。SPDY协议是Google开发的基于传输控制协议的应用层协议,通过压缩,多路复用(一个TCP链接传送网页和图片等资源) 参考:http://zh.wikipedia.org/wiki/SPDY

(2) 如果SPDY不可用,利用连接池减少请求延迟

(3) Gzip压缩

(4) Response缓存减少不必要的请求

http://www.tuicool.com/articles/3INNz2

http://www.trinea.cn/android/android-http-api-compare/

/article/3446569.html

三.Universal-image-loader

http://www.cnblogs.com/osmondy/p/3266023.html

http://codekk.com/open-source-project-analysis/detail/Android/huxian99/Android%20Universal%20Image%20Loader%20%E6%BA%90%E7%A0%81%E5%88%86%E6%9E%90

四.EventBus分析

EventBus主要特点

1. 事件订阅函数不是基于注解(Annotation)的,而是基于命名约定的,在Android 4.0之前的版本中,注解解析起来比较慢 , 事件响应函数默认以“onEvent”开始,可以在EventBus中修改这个值,但是不推荐这么干

2. 事件响应有更多的线程选择

EventBus可以向不同的线程中发布事件,在ThreadMode 枚举中定义了4个线程,只需要在事件响应函数名称“onEvent”后面添加对应的线程类型名称,则还事件响应函数就会在对应的线程中执行,比如事件函数“onEventAsync”就会在另外一个异步线程中执行,ThreadMode定义的4个线程类型如下:

PostThread:事件响应函数和事件发布在同一线程中执行。这个是默认值,这样可以避免线程切换。

MainThread:事件响应函数会在Android应用的主线程(大部分情况下都是UI线程)中执行。

BackgroundThread:事件响应函数会在一个后台线程中执行。如果事件发布函数不是在主线程中,则会立即在事件发布线程中执行响应函数。如果事件发布函数在主线程中,EventBus则会在唯一的一个后台线程中按照顺序来执行所有的后台事件响应函数。

http://www.trinea.cn/android/eventbus-source-analysis/

五.Dagger 源码解析

http://codekk.com/open-source-project-analysis/detail/Android/%E6%89%94%E7%89%A9%E7%BA%BF/Dagger%20%E6%BA%90%E7%A0%81%E8%A7%A3%E6%9E%90
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: