iOS清除所有緩存

計(jì)算緩存

NSString *libPath = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES)[0];
CGFloat fileSize=[self folderSizeAtPath:libPath];
- (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;
}

清除緩存

- (void)action:(id)sender
{
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
    NSString *path = [paths lastObject];
    
    NSArray *files = [[NSFileManager defaultManager] subpathsAtPath:path];
    
    for (NSString *p in files) {
        NSError *error;
        NSString *Path = [path stringByAppendingPathComponent:p];
        if ([[NSFileManager defaultManager] fileExistsAtPath:Path]) {
            //清理緩存,保留Preference,里面含有NSUserDefaults保存的信息
            if (![Path containsString:@"Preferences"]) {
                [[NSFileManager defaultManager] removeItemAtPath:Path error:&error];
            }
        }else{
            
        }
    }
}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • App后期優(yōu)化必須要考慮的問(wèn)題——緩存。App基本功能——清除緩存。最近在做清除緩存的功能,所以好好研究了一下。這...
    墨痕未干閱讀 2,186評(píng)論 0 14
  • 設(shè)置界面?中清除緩存的處理---** 每個(gè)App幾乎都有清除緩存的功能** 一 手機(jī)上的磁盤緩存 == 從網(wǎng)絡(luò)上下...
    Tuberose閱讀 4,880評(píng)論 12 119
  • 緩存默認(rèn)存儲(chǔ)在cache中,APPStore中有一條明確規(guī)定,你的APP中緩存文件只能保存在沙盒路徑下Caches...
    逍遙晨旭閱讀 7,538評(píng)論 1 14
  • 絕大多數(shù)應(yīng)用中都存在著清楚緩存的功能,形形色色,各有千秋,現(xiàn)為大家介紹一種最基礎(chǔ)的清除緩存的方法。清除緩存基本上都...
    頑童大了已沒(méi)那么笨閱讀 24,456評(píng)論 13 45
  • 下午,帶女兒去滑滑梯,非常冷,刺骨的風(fēng)。活動(dòng)區(qū)只有幾個(gè)4到7歲的小女孩在玩,其中一個(gè)帶頭的女孩應(yīng)該有八歲,是個(gè)標(biāo)準(zhǔn)...
    安哥貝貝閱讀 237評(píng)論 0 0

友情鏈接更多精彩內(nèi)容