网络请求
网络请求看什么
多线程
缓存
网络请求及时性
方便使用(封装)
健壮性
Retrofit + RxAndroid
优点: 以接口/注解的形式定义请求和响应
Square 开源的项目.
是一套RESTful架构的Android(Java)客户端实现,基于注解,提供JSON to POJO(Plain Ordinary Java Object,简单Java对象),POJO to JSON,网络请求(POST,GET,PUT,DELETE等)封装。
本身的网络核心可以替换. 如Apache HTTP client, URL connection, OKHttp等, 数据解析核心也可以替换如Gson, Jackson, fastjson, xStream等. 力求用最少的代码, 实现最强大的功能
缺点: 必须支持RESTful架构
Volley
优点: 一个能让Android的网络请求更简单快捷的Http库
Volley集成了AsyncHttpClient和Universal-Image-Loader的优点,既可以像AsyncHttpClient一样非常简单地进行HTTP通信,也可以像Universal-Image-Loader一样轻松加载网络上的图片。但是对大数据量的网络操作如文件的下载支持较差
缺点:需要自己二次封装,对大数据的下载支持较差
图片加载
图片加载看什么
多级缓存
适应ImageView大小
及时回收
是否支持其他类型(gif图片等)(看需求)
Glide
更偏向于媒体缓存。速度比Picasso更快。
Picasso
图片质量相对于Glide更高。
Fresco
Bitmap缓存、内存缓存、本地缓存。 支持git图片。
Volley
不仅仅是图片缓存。
ImageLoader
略
图片处理
PhotoView
重写ImageView的实现, 支持多点触摸的图片缩放
ImageViewZoom
一个可以缩放, 平移的自定义ImageView控件
PinchImageView
支持双击放大,双击缩小,超出边界会回弹, 滑动惯性,不同分辨率无缝切换,可与ViewPager结合使用。
GestureViews
项目目的是让图片的查看尽可能流畅平滑, 让开发者更加方便地集成到自己的应用中, 支持手势控制和动画
subsampling-scale-image-view
丰富的配置选项, 更方便的实现图片的手势缩放, 旋转, 平移. 无损展示大图, 完美的地嵌入画廊, 地图等.可显示大图(地图, 建筑设计图)等而不造成OutOfMemoryErrors(OOM内存溢出异常)