一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

您好,歡迎來(lái)電子發(fā)燒友網(wǎng)! ,新用戶?[免費(fèi)注冊(cè)]

您的位置:電子發(fā)燒友網(wǎng)>源碼下載>通訊/手機(jī)編程>

ios緩存策略NSCache

大?。?/span>0.6 MB 人氣: 2017-09-25 需要積分:2

今天來(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%

      發(fā)表評(píng)論

      用戶評(píng)論
      評(píng)價(jià):好評(píng)中評(píng)差評(píng)

      發(fā)表評(píng)論,獲取積分! 請(qǐng)遵守相關(guān)規(guī)定!

      ?