Glide with 绑定
一、with(context)
点击源码查看到是多个重载方法activity、fragment、view等等,下面用其中一个方法来展示
load(url)RequestManagerFragment.class中持有一个lifecycle,在Fragment进入关键生命周期时会主动通知lifecycle执行相关方法
上面执行完成到这里已经拿到RequestManager对象,然后调用load(url)。看源码可知是多个重载方法,传不同类型的资源。最终拿到RequestBuilder对象
三、into(imageView)
上一步拿到了RequestBuilder对象,调用into可知有2个重载方法。into的参数就是最终显示的控件。当into内部代码执行完成后回到 buildImageViewTarget方法,这个方法是显示使用的,Executors.mainThreadExecutor()来切主线程
2、三级缓存策略
一级缓存:活动缓存 ,当前Activity退出缓存销毁。
二级缓存:LRU内存缓存 ,APP应用退出缓存销毁。
三级缓存:LRU磁盘缓存 ,一直存在。
四 三个线程池
- 创建网络加载线程池对象
- 创建磁盘加载线程池对象
- 创建动画加载线程池对象