最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

IOS 緩存文件的清除實(shí)現(xiàn)代碼

 更新時(shí)間:2016年10月27日 08:46:20   投稿:lqh  
這篇文章主要介紹了IOS 緩存文件的清除的相關(guān)資料,詳細(xì)說明了如何獲取緩存文件,及緩存文件的清除步驟,需要的朋友可以參考下

移動(dòng)互聯(lián)網(wǎng) APP 的應(yīng)用開發(fā),必須要時(shí)刻注意用戶體驗(yàn),以免造成APP 或者手機(jī)及其他移動(dòng)設(shè)備的卡死情況,以下是對(duì)緩存文件的處理。

移動(dòng)應(yīng)用在處理網(wǎng)絡(luò)資源時(shí),一般都會(huì)做離線緩存處理,其中以圖片緩存最為典型,其中很流行的離線緩存框架為SDWebImage。

但是,離線緩存會(huì)占用手機(jī)存儲(chǔ)空間,所以緩存清理功能基本成為資訊、購(gòu)物、閱讀類app的標(biāo)配功能。

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

1. 獲取緩存文件的大小

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

 

由于緩存文件存在沙箱中,我們可以通過NSFileManager API來實(shí)現(xiàn)對(duì)緩存文件大小的計(jì)算。
// 遍歷文件夾獲得文件夾大小,返回多少 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);
  
}

 

// 計(jì)算 單個(gè)文件的大小
- ( 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];

}


 

 感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

相關(guān)文章

  • IOS UI學(xué)習(xí)教程之區(qū)分NSBundle和NSURL(讀取文件、寫入文件)

    IOS UI學(xué)習(xí)教程之區(qū)分NSBundle和NSURL(讀取文件、寫入文件)

    這篇文章主要為大家詳細(xì)介紹了IOS UI學(xué)習(xí)教程之區(qū)分NSBundle和NSURL,如何讀取、寫入文件,感興趣的小伙伴們可以參考一下
    2016-03-03
  • 詳解如何使用ReactiveObjC

    詳解如何使用ReactiveObjC

    RAC 指的就是 RactiveCocoa ,是 Github 的一個(gè)開源框架,能夠通過信號(hào)提供大量方便的事件處理方案,讓我們更簡(jiǎn)單粗暴地去處理事件,現(xiàn)在分為 ReactiveObjC(OC) 和 ReactiveSwift(swift)。本文將詳細(xì)介紹如何使用ReactiveObjC。
    2021-06-06
  • iOS開發(fā)傻瓜式微信支付的方法教程

    iOS開發(fā)傻瓜式微信支付的方法教程

    最近因?yàn)楣ぷ鞯男枰_發(fā)微信支付,發(fā)現(xiàn)網(wǎng)上的很多教程過于復(fù)雜,索性自己寫一篇,所以下面這篇文章主要跟大家分享了關(guān)于iOS開發(fā)傻瓜式微信支付的方法教程,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面來一起看看吧。
    2017-07-07
  • iOS實(shí)現(xiàn)雙向滑動(dòng)條效果

    iOS實(shí)現(xiàn)雙向滑動(dòng)條效果

    這篇文章主要為大家詳細(xì)介紹了iOS實(shí)現(xiàn)雙向滑動(dòng)條效果的相關(guān)代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-03-03
  • IOS 靜態(tài)方法與動(dòng)態(tài)方法詳解

    IOS 靜態(tài)方法與動(dòng)態(tài)方法詳解

    這篇文章主要介紹了IOS 靜態(tài)方法與動(dòng)態(tài)方法詳解的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • iOS使用UICollectionView實(shí)現(xiàn)橫向滾動(dòng)照片效果

    iOS使用UICollectionView實(shí)現(xiàn)橫向滾動(dòng)照片效果

    這篇文章主要為大家詳細(xì)介紹了iOS使用UICollectionView實(shí)現(xiàn)橫向滾動(dòng)照片效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • iOS遠(yuǎn)程推送Push開發(fā)教程

    iOS遠(yuǎn)程推送Push開發(fā)教程

    這篇文章主要為大家詳細(xì)介紹了iOS遠(yuǎn)程推送Push開發(fā)教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • iOS中使用UISearchBar控件限制輸入字?jǐn)?shù)的實(shí)現(xiàn)方法

    iOS中使用UISearchBar控件限制輸入字?jǐn)?shù)的實(shí)現(xiàn)方法

    這篇文章主要介紹了iOS中使用UISearchBar控件限制輸入字?jǐn)?shù)的實(shí)現(xiàn)方法的相關(guān)資料,需要的朋友可以參考下
    2016-08-08
  • iOS UISearchController的使用方法

    iOS UISearchController的使用方法

    本文主要介紹了iOS UISearchController的使用方法,具有很好的參考價(jià)值,下面跟著小編一起來看下吧
    2017-02-02
  • iOS App連續(xù)閃退時(shí)上報(bào)crash日志的方法詳解

    iOS App連續(xù)閃退時(shí)上報(bào)crash日志的方法詳解

    iOS App 有時(shí)可能遇到啟動(dòng)必 crash 的絕境:每次打開 App 都閃退,無法正常使用App。下面這篇文章主要給大家介紹了iOS App連續(xù)閃退時(shí)上報(bào)crash日志的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧。
    2018-04-04

最新評(píng)論

来宾市| 浮山县| 游戏| 井陉县| 资兴市| 喜德县| 赫章县| 仁怀市| 聂拉木县| 大关县| 淳安县| 泸溪县| 淄博市| 余干县| 高邑县| 邵阳县| 尉氏县| 台东市| 孝感市| 本溪市| 荣昌县| 淮南市| 玉树县| 修武县| 潞西市| 屏南县| 绵阳市| 隆德县| 米林县| 凤城市| 法库县| 镇平县| 鄢陵县| 醴陵市| 武陟县| 嘉祥县| 随州市| 东阿县| 康定县| 江陵县| 额尔古纳市|