- NSCache是專門用來進(jìn)行緩存處理的寄猩,
-
- NSCache簡單介紹:
- NSCache是蘋果官方提供的緩存類,具體使用和NSDictionary類似垒玲,在AFN和SDWebImage框架中被使用來管理緩存
- 蘋果官方解釋NSCache在系統(tǒng)內(nèi)存很低時骨饿,會自動釋放對象(但模擬器演示不會釋放)
- 建議:接收到內(nèi)存警告時主動調(diào)用removeAllObject方法釋放對象
- NSCache是線程安全的,在多線程操作中溉浙,不需要對NSCache加鎖
- NSCache的Key只是對對象進(jìn)行Strong引用,不是拷貝
-
- 屬性介紹:
- name:名稱
- delegete:設(shè)置代理
- totalCostLimit:緩存空間的最大總成本蒋荚,超出上限會自動回收對象戳稽。默認(rèn)值為0,表示沒有限制
- countLimit:能夠緩存的對象的最大數(shù)量期升。默認(rèn)值為0惊奇,表示沒有限制
- evictsObjectsWithDiscardedContent:標(biāo)識緩存是否回收廢棄的內(nèi)容
- 方法介紹
//在緩存中設(shè)置指定鍵名對應(yīng)的值,0成本
- (void)setObject:(ObjectType)obj forKey:(KeyType)key;
//在緩存中設(shè)置指定鍵名對應(yīng)的值播赁,并且指定該鍵值對的成本颂郎,用于計算記錄在緩存中的所有對象的總成本,出現(xiàn)內(nèi)存警告或者超出緩存總成本上限的時候容为,緩存會開啟一個回收過程乓序,刪除部分元素
- (void)setObject:(ObjectType)obj forKey:(KeyType)key cost:(NSUInteger)g;
//刪除緩存中指定鍵名的對象
- (void)removeObjectForKey:(KeyType)key;
//刪除緩存中所有的對象
- (void)removeAllObjects;
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者