一、緩存方式分為兩種:
1、內(nèi)存緩存泳赋,內(nèi)存緩存是指當(dāng)前程序運(yùn)行空間屿愚,內(nèi)存緩存速度快容量小汇跨,它是供cpu直接讀取,
比如我們打開一個(gè)程序妆距,他是運(yùn)行在內(nèi)存中的穷遂,關(guān)閉程序后內(nèi)存又會(huì)釋放。
2毅厚、磁盤緩存塞颁,磁盤也就是硬盤緩存,磁盤是程序的存儲(chǔ)空間吸耿,磁盤緩存容量大速度慢祠锣,磁盤是永久存儲(chǔ)東西的;
磁盤緩存是存在Library/Caches
NSCache緩存機(jī)制
NSCache是蘋果系統(tǒng)提供的一個(gè)緩存框架糕珊,用法和NSMutableDictionary 相似动分。都是通過setValue: forKey: 設(shè)置值、和objectForKey 取值红选,
但還是有區(qū)別:
1澜公、NSMutableDictionary線程是不安全的,而NSCache 線程是安全的
2喇肋、當(dāng)內(nèi)存不足時(shí)NSCache會(huì)自動(dòng)釋放內(nèi)存
3坟乾、NSCache 可以指定緩存的大小限度 totalCostLimit和 最大緩存條數(shù) countLimit迹辐,當(dāng)緩存超出限度之后會(huì)自動(dòng)釋放內(nèi)存。
二甚侣、iOS的沙盒機(jī)制
iOS文件創(chuàng)建讀寫明吩,都必須在該應(yīng)用內(nèi),不允許去訪問其他地方殷费。應(yīng)用所創(chuàng)建的 保存的都必須保存在子這個(gè)叫沙盒的地方印荔;
沙盒結(jié)構(gòu): 默認(rèn)情況下,每個(gè)沙盒含有3個(gè)文件夾:Documents, Library 和 tmp宗兼。
Documents:用戶生成的文件及保存文件都保存在此
Library:存儲(chǔ)程序的默認(rèn)設(shè)置或其它狀態(tài)信息躏鱼;
Library/Caches:存放緩存文件
Library/preferences:存放的是 user default 存儲(chǔ)的信息,iTunes會(huì)備份此目錄殷绍, 應(yīng)用程序重新啟動(dòng)不會(huì)丟棄數(shù)據(jù)染苛,
我們使用 NSUserDefaults寫的設(shè)置數(shù)據(jù)都會(huì)保存到該目錄下的一個(gè)plist文件中,這就是所謂的寫到plist中主到!
tmp:臨時(shí)創(chuàng)建的文件存放地
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者