最近看了一遍網上glide的源碼分析,感覺有些消化不完,簡單記錄一下新get到的姿勢吧
1.lide是一套很強大的圖片加載框架,使用起來非常的簡單只需要一代碼:Glide.with(this).load(url).into(imageView);就可以實現圖片的加載與緩存。
2.glide不需要考慮圖片的回收是因為在他會對with()中傳入的context進行檢查,如果是Application那么就將生命周期與APP相同,如果是其它如activity或Fragment的話他就添加一個隱藏的fragment來共享生命周期。
3.緩存是采用了二級緩存(內存緩存與硬盤緩存)兩種方式,先根據圖片生成一個key(網絡圖片基本就是根據URL來生成),再將其緩存至內存與硬盤(LruCache)
在開發中遇到同一張圖片URL卻不同怎么辦?修改glideUrl類去重寫Key的生成規則。