这次我们来说说这些框架的特点
1. Volley的主要特点
1. 扩展性强
基于接口设计。
2. 一定程度上符合http规范。
返回包括ResponseCode 的处理,请求头的处理,缓存机制的支持。
3. 重试以及优先级的定义。
4. 2.3以上基于HttpUrlconnection。
2.3以下是Httpclient(没有这号机子了吧)
5. 提供简单的图片加载工具。
2. Retrofit
Retrofit 基于注解,提供JSON to POJO(Plain Ordinary Java Object,简单Java对象),POJO to JSON,网络请求(POST,GET,PUT,DELETE等)封装。
3. XUtils
- xUtils 包含了很多实用的android工具。
- xUtils 源于Afinal框架,对Afinal进行了大量重构,使得xUtils支持大文件上传,更全面的http请求协议支持,拥有更加灵活的ORM,更多的事件注解支持且不受混淆影响…
- xUitls最低兼容android 2.2 (api level 8)
4. Android Universal Image Loader
一个强大的加载,缓存,展示图片的库
5. Picasso
一个强大的图片下载与缓存的库
6. Ormlite
基于注解和反射的的方式,导致ormlite性能有着一定的损失(注解其实也是利用了反射的原理)
优点:
文档较全面,社区活跃,有好的维护,使用简单,易上手。
缺点:
基于反射,效率较低
7. GreenDao
官网中明确指明了其首要设计目标:
Maximum performance (probably the fastest ORM for Android):系能最大化
Easy to use APIs:便于使用
Highly optimized for Android:对于Android高度优化
Minimal memory consumption:最小化内存开销
Small library size, focus on the essentials:较小的文件体积,只集中在必要的部分上。
优点:
效率很高,插入和更新的速度是sqlite的2倍,加载实体的速度是ormlite的4.5倍。官网测试结果:http:/
/greendao-orm.com/features/
文件较小(<100K),占用更少的内存 ,但是需要create Dao,
操作实体灵活:支持get,update,delete等操作
缺点:
学习成本较高。其中使用了一个java工程根据一些属性和规则去generate一些基础代码,类似于javaBean但会有一些规则,另外还有QueryBuilder、Dao等API,所以首先要明白整个过程,才能方便使用。没有ORMLite那样封装的完整,不过greenDao的官网上也提到了这一点,正是基于generator而不是反射,才使得其效率高的多。
另外GreenDao支持Protocol buffers协议数据的直接存储 ,如果通过protobuf协议和服务器交互,不需要任何的映射。