ios緩存策略NSCache
推薦 + 挑錯(cuò) + 收藏(0) + 用戶評(píng)論(0)
今天來(lái)共同學(xué)習(xí)一下NSCache的相關(guān)知識(shí),有疏忽的地方,還望各位不吝賜教。
一、簡(jiǎn)介
1、NSCache是蘋果官方提供的的緩存類,具體使用是和NSDictionary很相似的,在AFNetworking和SDWebImage第三方框架中被用作管理緩存。
2、NSCache在系統(tǒng)內(nèi)存很低時(shí)會(huì)自動(dòng)釋放對(duì)象,但是在模擬器進(jìn)行演示的時(shí)候不會(huì)釋放,這一點(diǎn)要注意,所以最好是在內(nèi)存進(jìn)行警告時(shí)主動(dòng)去調(diào)用方法去釋放對(duì)象。
3、NSCache是線程安全的,在進(jìn)行多線程操作時(shí),不需要進(jìn)行加鎖。
4、NSCache的Key只是對(duì)對(duì)象進(jìn)行了Strong引用,而非拷貝,相關(guān)說(shuō)明會(huì)在下面的例子中進(jìn)行詳細(xì)解釋。
二、屬性和方法說(shuō)明
1、屬性說(shuō)明
// 緩存空間的最大成本,超出上限會(huì)自動(dòng)回收對(duì)象,默認(rèn)值是0,表示沒(méi)有限制。
@property NSUInteger totalCostLimit;
// 能夠緩存對(duì)象的最大數(shù)量。默認(rèn)值為0,表示沒(méi)有限制。
@property NSUInteger countLimit;
// 標(biāo)識(shí)緩存是否回收廢棄的內(nèi)容。
@property BOOL evictsObjectsWithDiscardedContent;
2、方法說(shuō)明
// 通過(guò)指定的鍵取出在緩存中存儲(chǔ)的數(shù)據(jù)。
- (nullable ObjectType)objectForKey:(KeyType)key;
// 在緩存中設(shè)置指定鍵名對(duì)應(yīng)的值,成本為0。
- (void)setObject:(ObjectType)obj forKey:(KeyType)key;
// 在緩存中設(shè)置指定鍵名對(duì)應(yīng)的值,并且指定回收成本,以便進(jìn)行計(jì)算存儲(chǔ)在緩存中對(duì)象的總成本,當(dāng)出現(xiàn)內(nèi)存警告或者超出總成本時(shí),緩存就會(huì)進(jìn)行刪除部分元素的操作。
- (void)setObject:(ObjectType)obj forKey:(KeyType)key cost:(NSUInteger)g;
// 通過(guò)指定的鍵清除在緩存中存儲(chǔ)的數(shù)據(jù)。
- (void)removeObjectForKey:(KeyType)key;
// 清除在緩存中存儲(chǔ)的所有數(shù)據(jù)。
- (void)removeAllObjects;
非常好我支持^.^
(0) 0%
不好我反對(duì)
(0) 0%
下載地址
ios緩存策略NSCache下載
相關(guān)電子資料下載
- iOS17.1可能明天發(fā)布,iOS17.1主要修復(fù)哪些問(wèn)題? 376
- 華為全新鴻蒙蓄勢(shì)待發(fā) 僅支持鴻蒙內(nèi)核和鴻蒙系統(tǒng)應(yīng)用 719
- 蘋果手機(jī)系統(tǒng)iOS 17遭用戶質(zhì)疑 731
- iPhone12輻射超標(biāo)?蘋果推送iOS 17.1解決此事 750
- 傳華為囤積零部件 目標(biāo)明年智能手機(jī)出貨7000萬(wàn)部;消息稱 MiOS 僅限國(guó)內(nèi),小米 28208
- 蘋果推送iOS17.0.3,解決iPhone15Pro系列存在機(jī)身過(guò)熱 216
- Testin云測(cè)兼容和真機(jī)服務(wù)平臺(tái)中上線iPhone 15系列手機(jī) 208
- 利爾達(dá)推出搭載HooRiiOS的Matter模組 145
- 運(yùn)放參數(shù)解析:輸入偏置電流(Ibias)和失調(diào)電流(Ios) 128
- 昆侖太科發(fā)布支持國(guó)產(chǎn)飛騰騰銳D2000芯片的開源BIOS固件版本 448