国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > iOS > 正文

IOS獲取緩存文件的大小并清除緩存文件的方法

2019-10-21 18:51:22
字體:
來源:轉載
供稿:網友

移動應用在處理網絡資源時,一般都會做離線緩存處理,其中以圖片緩存最為典型,其中很流行的離線緩存框架為SDWebImage。

但是,離線緩存會占用手機存儲空間,所以緩存清理功能基本成為資訊、購物、閱讀類app的標配功能。

今天介紹的離線緩存功能的實現,主要分為緩存文件大小的獲取、清除緩存文件的實現。

1. 獲取緩存文件的大小

-( float )readCacheSize{NSString *cachePath = [NSSearchPathForDirectoriesInDomains (NSCachesDirectory , NSUserDomainMask , YES) firstObject];return [ self folderSizeAtPath :cachePath];}

由于緩存文件存在沙箱中,我們可以通過NSFileManager API來實現對緩存文件大小的計算。

// 遍歷文件夾獲得文件夾大小,返回多少 M- ( float ) folderSizeAtPath:( NSString *) folderPath{NSFileManager * manager = [NSFileManager defaultManager];if (![manager fileExistsAtPath :folderPath]) return 0 ;NSEnumerator *childFilesEnumerator = [[manager subpathsAtPath :folderPath] objectEnumerator];NSString * fileName;long long folderSize = 0 ;while ((fileName = [childFilesEnumerator nextObject]) != nil ){//獲取文件全路徑NSString * fileAbsolutePath = [folderPath stringByAppendingPathComponent :fileName];folderSize += [ self fileSizeAtPath :fileAbsolutePath];}return folderSize/( 1024.0 * 1024.0);}// 計算 單個文件的大小- ( long long ) fileSizeAtPath:( NSString *) filePath{NSFileManager * manager = [NSFileManager defaultManager];if ([manager fileExistsAtPath :filePath]){return [[manager attributesOfItemAtPath :filePath error : nil] fileSize];}return 0;}

2. 清除緩存

- (void)clearFile{NSString * cachePath = [NSSearchPathForDirectoriesInDomains (NSCachesDirectory , NSUserDomainMask , YES ) firstObject];NSArray * files = [[NSFileManager defaultManager ] subpathsAtPath :cachePath];//NSLog ( @"cachpath = %@" , cachePath);for ( NSString * p in files) {NSError * error = nil ;//獲取文件全路徑NSString * fileAbsolutePath = [cachePath stringByAppendingPathComponent :p];if ([[NSFileManager defaultManager ] fileExistsAtPath :fileAbsolutePath]) {[[NSFileManager defaultManager ] removeItemAtPath :fileAbsolutePath error :&error];}}//讀取緩存大小float cacheSize = [self readCacheSize] *1024;self.cacheSize.text = [NSString stringWithFormat:@"%.2fKB",cacheSize];}

以上所述是小編給大家介紹的IOS獲取緩存文件的大小并清除緩存文件的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VEVB武林網網站的支持!


注:相關教程知識閱讀請移步到IOS開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 曲周县| 广州市| 望奎县| 台安县| 本溪市| 柯坪县| 申扎县| 龙里县| 沅江市| 康定县| 江西省| 锡林浩特市| 红原县| 万荣县| 罗田县| 南丰县| 惠州市| 南丹县| 昌宁县| 稻城县| 日喀则市| 车险| 内江市| 修武县| 烟台市| 白朗县| 资兴市| 岳普湖县| 沈丘县| 临城县| 双流县| 安吉县| 定西市| 哈尔滨市| 郯城县| 翁源县| 东台市| 梨树县| 乌兰县| 郁南县| 平顺县|