iOS 快取清除方法

2021-07-12 03:31:08 字數 2042 閱讀 6037

沒有固定的方法,你既然有做對應的快取機制,這個機制就應該有清除快取的方法。例如如果你使用某個第三方的庫,這個庫有快取機制,那麼它就應該提供對應的清除快取的方法。你呼叫對應的方法進行清除,如果你自己有用到資料庫,那麼你就應該清除資料庫裡面的資料等等。

指的是沙盒下的快取資料夾麼

移動應用在處理網路資源時,一般都會做離線快取處理,其中以快取最為典型,其中很流行的離線快取框架為sdwebimage。

今天介紹的離線快取功能的實現,主要分為快取檔案大小的獲取、刪除快取檔案的實現。

獲取快取檔案的大小

由於快取檔案存在沙箱中,我們可以通過nsfilemanager api來實現對快取檔案大小的計算。

檔案路徑:

nsstring

*cachpath = [

nssearchpathfordirectoriesindomains

(nscachesdirectory

,nsuserdomainmask

,yes

)objectatindex:0

]; 計算單個檔案大小 1

2

3

4

5

6

7

8

+(float)filesizeatpath:(nsstring *)path

return0;

}

計算目錄大小 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;

returnfoldersize;

}

return0;

}

清理快取檔案

同樣也是利用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進...