国产探花免费观看_亚洲丰满少妇自慰呻吟_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開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 辽源市| 巴林右旗| 翁牛特旗| 理塘县| 唐河县| 会理县| 安西县| 介休市| 岐山县| 汉川市| 邵武市| 唐海县| 积石山| 博乐市| 邮箱| 清河县| 娱乐| 句容市| 邵东县| 南丰县| 肇东市| 克什克腾旗| 太保市| 于都县| 皮山县| 安泽县| 肇庆市| 定襄县| 灵石县| 应用必备| 田阳县| 会宁县| 黄梅县| 秦皇岛市| 宿迁市| 喜德县| 静宁县| 剑川县| 铜山县| 方城县| 凤阳县|