1.通過泛型支持多個控件裕偿,如UIButton匠童,NSButton(mac開發(fā)), imageView等等
- 先判斷是否是強制刷新崖媚,如果是創(chuàng)建一個request亦歉,去下載。
- 如果不是再判斷這個圖片緩存有沒有至扰,有就返回在緩存中.memory鳍徽,沒有就繼續(xù)判斷磁盤中有沒有,有就返回.disk,都沒有返回.none
- 如果緩存中或者磁盤中有敢课,就去取阶祭,沒有就去新建一個request去下載
- 下載之后再緩存一下绷杜,同時根據(jù)需要存儲到磁盤中去(初始化的option里面默認是緩存到硬盤的),并設置存儲時間
- 一切完成之后就回去拿獲取到的圖片去渲染濒募。
使用NSCache來存儲圖片到內(nèi)存中去鞭盟,NSCache的最大存儲內(nèi)存設置的是當前手機剩余內(nèi)存的1/4,
每個緩存在內(nèi)存中圖片文件都有一個有效期,有效期只有5分鐘瑰剃,存儲在磁盤中的有效期默認是7天
默認2分鐘有一個定時器去檢查緩存中的文件有沒有過期齿诉,過期就刪除
然后每次App如果收到didReceiveMemoryWarningNotification就會去清除緩存中的文件,
收到willTerminateNotification(進程終止), didEnterBackgroundNotification 進入后臺的時候都會去清除磁盤中過期文件