android开发-Glide源码分析


ImageviewTarget包含了Imageview以及其他的生命周期的回调比如成功了、失败了、异常的
他是在onto
GenericRequst包含了他的 错误资源、展位资源、动画设置等一切设置的属性都在这里


DrawableTypeRequest中的构造方法中

if (transcoder == null) {
            transcoder = glide.buildTranscoder(resourceClass, transcodedClass);
        }
        DataLoadProvider<ImageVideoWrapper, Z> dataLoadProvider = glide.buildDataProvider(ImageVideoWrapper.class,
                resourceClass);
        ImageVideoModelLoader<A> modelLoader = new ImageVideoModelLoader<A>(streamModelLoader,
                fileDescriptorModelLoader);


}
transcoder 他是GifBitmapWrapperDrawableTranscoder,图片的形成就在这里
dataLoadProvider 实际上构造出来的是ImageVideoGifDrawableLoadProvider

modelLoader 实际上构造出来的是ImageVideoModelLoader ,而网络请求就是在这里配置的,这里会去构建HttpUrlFetcher



在EngineJob中做下载的工作,EngineJob这里面有线程池和主线程的Handler
Downsampler把InputStream转化成bitmap



网络线程池有个数是:cpu可用个数
而磁盘缓存线程池有1个
内存缓存使用的是LruResourceCache memoryCache (最大内存:如果是低配手机,就每个进程可用的最大内存乘以0.33,否则就每个进程可用的最大内存乘以0.4)
本地缓存使用的是InternalCacheDiskCacheFactory(DiskLruCacheFactory)  diskCacheFactory
单聊模式
图片缓存的路径 在我们的缓存路径下面了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值