
SDWebImage流程.png
流程總結(jié):
- 根據(jù)下載的url生成下載的key,判斷key之前是否正在下載,如果正在下載就取消下載
- 判斷url之前是否失敗過(guò),如果失敗過(guò),判斷是否需要重新下載
- 先查找內(nèi)存緩存,如果內(nèi)存緩存沒(méi)有,查找弱引用表,如果弱引用表中有,就保存一份到內(nèi)存緩存
- 如果內(nèi)存緩存和弱引用表都沒(méi)有,在查找磁盤緩存,如果磁盤緩存有就緩存一份到內(nèi)存緩存和弱引用表中
- 如果磁盤緩存也沒(méi)有,就下載圖片,下載完成后保存到磁盤緩存、內(nèi)存緩存、弱引用表
- 返回圖片到上層業(yè)務(wù)