辅助包
1.deque包
1.Deque.java
双队列接口,extends queue.
这里要说明下
例如:addFirst,offerFirst都表示添加元素,但是两者是由区别的;
offerFirst添加失败会有throw exception,addFirst不会。
removeFirst,pollFirst,getFirst,都可以返回第一个元素,但是他们是有区别的;
removeFirst返回first元素,并切从队列删除该元素,但是如果队列empty,so throw exception;
pollFirst返回first元素,并切从队列删除该元素,但是如果队列empty,return null;
getFirst返回first元素,不会从队列删除该元素,但是如果队列empty,so throw exception。
2.BlockingDeque.java
声明阻塞式的双队列接口
3.LinkedBlockingDeque.java
实现了链表式的阻塞双队列,并且可以序列化。
thread阻塞主要是使用了ReentrantLock(重入锁)和notEmpty,notFull 两个Condition,Node链表式的结构(组合模式)
4.LIFOLinkedBlockingDeque.java
LinkedBlockingDeque的子类,LinkedBlockingDeque的实现是FIFO,只需要修改插入元素,与取出元素就可实现LIFO算法的链表阻塞双队列。
2.
1.ContentLengthInputStream.java
inputstream的装饰类(装饰模式),给inputstream指定了长度。
2.FailReason.java
对图片加载,显示异常的封装。FailType是枚举类型
3.FlushedInputStream.java
该类是为了修复inputstream to bitmap失败,感觉像是Android的bug,大家可以查看the problem
4.ImageScaleType.java
枚举类型,列举了解析图片时缩放的类型
NONE 不进行缩放;
NONE_SAFE 整数倍缩放,直至小于设备可支持的最大尺寸
IN_SAMPLE_POWER_OF_2 以2的倍数缩放,直至小于目标尺寸
IN_SAMPLE_INT 整数倍缩放,直至小于目标尺寸
EXACTLY 宽或高或两者缩放到目标尺寸大小,depends on android.widget.ImageView.ScaleType
EXACTLY_STRETCHED 宽或高或两者 缩放或者拉伸 到目标尺寸大小,depends on android.widget.ImageView.ScaleType;
5.ImageSize.java
图片尺寸的封装,包含了width和height。
6.LoadedFrom.java
枚举类型,Source image loaded from.
7.QueueProcessingType.java
枚举,队列处理方式,FIFO,LIFO
8.ViewScaleType.java
枚举类型,简化了ImageView's scale type
FIT_INSIDE 图片的宽高按比列缩放,直至有一边不大于view的尺寸
CROP 图片的宽高按比列缩放,直至两边都不大于view的尺寸