沒有固定的方法,你既然有做對應的快取機制,這個機制就應該有清除快取的方法。例如如果你使用某個第三方的庫,這個庫有快取機制,那麼它就應該提供對應的清除快取的方法。你呼叫對應的方法進行清除,如果你自己有用到資料庫,那麼你就應該清除資料庫裡面的資料等等。
指的是沙盒下的快取資料夾麼
移動應用在處理網路資源時,一般都會做離線快取處理,其中以快取最為典型,其中很流行的離線快取框架為sdwebimage。
今天介紹的離線快取功能的實現,主要分為快取檔案大小的獲取、刪除快取檔案的實現。
獲取快取檔案的大小
由於快取檔案存在沙箱中,我們可以通過nsfilemanager api來實現對快取檔案大小的計算。
檔案路徑:
nsstring
*cachpath = [
nssearchpathfordirectoriesindomains
(nscachesdirectory
,nsuserdomainmask
,yes
)objectatindex:0
]; 計算單個檔案大小 1
2
3
4
5
6
7
8
+(
float
)filesizeatpath:(nsstring *)path
return
0;
}
計算目錄大小 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
+(
float
)foldersizeatpath:(nsstring *)path
//sdwebimage框架自身計算快取的實現
foldersize+=[[sdimagecache sharedimagecache] getsize]/1024.0/1024.0;
return
foldersize;
}
return
0;
}
清理快取檔案
同樣也是利用nsfilemanager api進行檔案操作,sdwebimage框架自己實現了清理快取操作,我們可以直接呼叫。 1
2
3
4
5
6
7
8
9
10
11
12
+(
void
)clearcache:(nsstring *)path
}
[[sdimagecache sharedimagecache] cleandisk];
[[sdimagecache sharedimagecache] clearmemory];//新增這句話會清除頭像的快取不好,用時注意,在更換頭像的時候清除之前頭像的快取,可以用這句話,在設定頁最好不用
}
iOS 清除快取
一般的我們的快取檔案都儲存在沙盒的caches檔案下 清除快取一般是清楚caches檔案下的檔案以及sdwebimage產生的快取 第一步 我們首先得到caches資料夾的路徑 nsstring cachespath nssearchpathfordirectoriesindomains nscac...
ios清除快取2
ios清理快取的幾種方法,有需要的朋友可以參考下。long long filesizeatpath nsstring filepath return 0 遍歷資料夾獲得資料夾大小,返回多少m float foldersizeatpath nsstring folderpath return fold...
ios 清除快取檔案
獲取快取檔案的大小 由於快取檔案存在沙箱中,我們可以通過nsfilemanager api來實現對快取檔案大小的計算。計算單個檔案大小 float filesizeatpath nsstring path return 0 計算目錄大小 清理快取檔案 同樣也是利用nsfilemanager api進...