Glide源码分析

2019-03-16
阅读 8 分钟
1.6k
版本4.9.0 问题 Glide如何实现与生命周期的绑定? Glide如何实现缓存? Glide如何实现图片压缩? Glide如何实现与生命周期的绑定? 创建RequestManger,将其与with()传入 Activity, Fragment的生命周期绑定,这样做的好处是当Activity/Fragment stop/destroy时,RequestManager也会做相应操作,如停掉图片加载 绑定Applicati...

Android中的容器

2019-03-10
阅读 4 分钟
1.4k
List java.util包提供了两种 {代码...} ArrayList比LinkedList常用很多,原因是:ArrayList查找更容易 ArrayList ArrayList封装了一个数组Object[] 数组的初始化 {代码...} 封装一个空数组, {} {代码...} 封装一个大小为10的数组 new Object[10]; 数组如何实现扩容 ArrayList.add/addAll都需要先进行扩容检查,类似, {代...

PS学习-人物抠图-通道+选择边缘+画笔+钢笔

2018-09-03
阅读 2 分钟
2.3k
首先,从上图可看出,,图片包含复杂轮廓和清晰轮廓两种,头发是复杂轮廓,衣服手臂脸是清晰轮廓。那么抠图也分为两部分,头发与身体。 抠取头发 利用通道建立选取 1.复制蓝色通道按住Ctrl,拖动蓝色通道到下脚的复制按钮处复制处一个通道 2.调整色阶,使得黑白更加分明 Ctrl+l,调出色阶面板,调整色阶 3.在通道上画出选...

NDK入门

2017-12-26
阅读 4 分钟
1.7k
export PATH=/Users/humax/Development/Homebrew/bin:$PATH:$M2_HOME/bin:/Users/humax/Development/Homebrew/opt/android-ndkexport ANDROID_NDK=/Users/humax/Development/Homebrew/opt/android-ndkexport ANDROID_NDK

Android系统--TouchEvent的处理流程

2017-12-22
阅读 18 分钟
2.1k
TouchEvent的处理流程就是TouchEvent在View树中的传递的过程:这个过程分为2步:第一步,ACTION_DOWN在View树中寻找处理TouchEvent的View;第二步,剩余的ACTION_XXX在View树传递给目标View;

《深入理解Android WiFi NFC 和 GPS》读书笔记

2017-12-13
阅读 2 分钟
3.6k
是守护进程;Netd是Android系统中专门负责网络管理和控制的后台daemon程序;位于Framework层和Kernel层之间;是Android系统中网络相关消息和命令转发及处理的中枢模块;

View的滑动

2017-12-11
阅读 1 分钟
1.3k
由此看出,scrollBy是在scrollTo的基础上, scrollTo是针对初始位置,scrollBy是针对当前位置View的初始位置(0,0), scrllTo(100,100), View的位置是(100,100),再次调用scrllTo(100,100), View的位置仍然是是(100,100)View的初始位置(0,0), scrllBy(100,100), View的位置是(100,100),再次调用scrllBy(100,100), View的...

ViewPager原理分析(一)

2017-12-11
阅读 4 分钟
2.7k
当MotionEvent.ACTION_UP,调用populate上面的实现主要在ViewPager.populte(curItemIndex)中;

ViewPager源码分析(一) 创建与销毁Item

2017-12-08
阅读 7 分钟
3.1k
//在populate中,遍历mCurItem之前的, addNewItem满足这个条件的pos == ii.position && !ii.scrolling

RecyclerView源码分析(一) Recycler

2017-12-08
阅读 9 分钟
2.9k
dispatchLayout在onLayout,consumePendingUpdateOperations,resumeRequestLayout中调用

ViewPager源码分析(二) Page的复用

2017-12-08
阅读 2 分钟
2.9k
2)一种常见的情况,举例:有五个固定的控件要利用ViewPager显示 这种情况下,先创建好5个控件,并绑定ViewHolder,将ViewHolder放入List,

Glide的源码分析(三)

2017-12-03
阅读 3 分钟
1.9k
Glide取消图片加载1.在任务刚开始时;2.在EngineJob中,Future.cancel(true)3.在加载完成,但没有加载到控件;RequestManager.java:

Glide的源码分析(二) 2.2

2017-12-03
阅读 6 分钟
1.4k
4.从网络加载 {代码...} EngineRunnable.java: {代码...} 图片加载:1.从disk加载2.从网络加载从disk加载DecodeJob.java: {代码...} 具体decode的方法 实现ResourceDecoder接口的类 以后再做分析,而从网络加载 Decoder.java: {代码...} 两步:1.从网络获取数据;2.处理数据。HttpUrlFetcher.java: {代码...} 3XX重定向 ...

Glide的源码分析(二) 2.1

2017-12-03
阅读 8 分钟
1.3k
DrawableRequestBuilder.into(ImageView)RequestManager.load将要加载的资源放入到GenericRequestBuilderGenericRequestBuilder.java:

Glide的源码分析(一) Activity的生命周期与图片加载的关系

2017-12-03
阅读 7 分钟
2.9k
从这段代码可以看出无论Glide.with传入的Context是Fragment还是Activity或者干脆传入Framgent或FragemtnActivity,都会调用supportFragmentGet这个方法