Android-UIL-core.assist

辅助包

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算法的链表阻塞双队列。

1-1

2.

1.ContentLengthInputStream.java

inputstream的装饰类(装饰模式),给inputstream指定了长度。

1-2

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的尺寸

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 写在前面,UIL这个图片加载框架在去年的时候,作者就已经宣布因为时间关系,停止维护了!以下为作者原话: Proje...
    宝塔山上的猫阅读 460评论 0 3
  • 在经过一次没有准备的面试后,发现自己虽然写了两年的android代码,基础知识却忘的差不多了。这是程序员的大忌,没...
    猿来如痴阅读 2,872评论 3 10
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,403评论 25 708
  • 听风听雨听清明,看山看水看幽景。 暗香渐消春渐远,天涯何处不飞红。
    春风絮语阅读 199评论 3 2
  • 做了就是做了,没做就是没做。每一个人都问候我的现状,再指点一下,烦不烦?有本事,就过好自己的生活。不开心,就见个面...
    更向远行阅读 128评论 0 0