清除本地缓存

原创 2015年11月17日 21:16:09

import

if(indexPath.row==1){

UIActionSheet *sheet = [[UIActionSheet alloc] initWithTitle:[NSString stringWithFormat:@"确定清除缓存%.2fM", [self getCacheSize]] delegate:self cancelButtonTitle:@"取消" destructiveButtonTitle:@"确定" otherButtonTitles:nil, nil];
[sheet showInView:self.view];

}

//获得缓存文件的大小

// 得到缓存文件有多少兆
- (double)getCacheSize {
    // 在使用SDWebImage下载图片的时候,SD会把图片缓存到本地(作为图片文件存到沙盒里面),SD自带了清除缓存的机制
    // NSLog(@"%@", NSHomeDirectory());
    // 1bit, 即1个b 就是1个1或1个0 代表一个二进制位,bit是计算机存储的最小单位
    // 1个字节(Byte),即1个B, 就是8个bit, 1Byte = 8bit, 一般用Byte表示计算机存储的基本单位
    // 1个千字节(KB), 即1024个Byte, 即 1024个B, 即2^10个字节
    // 1个兆字节(M, MB, Megabytes),即1024个千字节,即2^10个千字节 1M = 2^10 KB = 2^20 B = 2^20*8 bit
    // 1个吉字节(G, GB, GigaByte), 即1024个兆字节,即2^10个兆字节
    // 1个太字节(T, TB, TeraByte), 即1024个吉字节,即2^10个G字节
    // 1个拍字节(P, PB, PetaByte), 即1024个T字节,即2^10个T字节
    // 1个艾字节(E, EB, ExaByte), 即1024个P字节,即2^10个P字节
    // 1个泽它字节(Z, ZB, ZettaByte), 即1024个E字节,即2^10个E字节
    // 1个尧它字节(Y, YB, YaoitByte), 即1024个Z字节,即2^10个Z字节
    // 注意,换算方式也有以1000为单位的,所以一般的硬盘生产厂商采用1000为进制的换算, 故有其报告的容量比硬盘标示的容量小的情况发生, 没什么大惊小怪的

    // 获取缓存
    // SDWebImage自身下载图片有缓存
    SDImageCache *imageCache = [SDImageCache sharedImageCache];
    NSUInteger fileSize = [imageCache getSize]; // 以字节为单位

    // 本地下载的缓存(我们自己搞的缓存)
    //myCache 路径缓存

    NSString * cachePath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject];

    NSString *myCache = [cachePath stringByAppendingPathComponent:@"myCache"];
    // 获取指定文件信息
    NSFileManager *fm = [NSFileManager defaultManager];
    NSDictionary *fileInfo = [fm attributesOfItemAtPath:myCache error:nil];

    // SD图片缓存加上我们自己的缓存
    fileSize += fileInfo.fileSize;

    // 以兆为单位返回
    return fileSize/1024.0/1024.0;
}

//ActionSheet的代理方法

#pragma mark - <UIActionSheetDelegate>
- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {
    if (buttonIndex == 0) { // 确定清除
        [self removeCacheData];
    }
}

//去除缓存数据

- (void)removeCacheData {

    // SD清空缓存(实际上就是把缓存在本地的图片删除掉)
    [[SDImageCache sharedImageCache] clearDisk];

    // 本地的清除缓存
    //myCache 路径缓存
    NSString * cachePath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject];

    NSString *myCache = [cachePath stringByAppendingPathComponent:@"myCache"];

    [[NSFileManager defaultManager] removeItemAtPath:myCache error:nil];
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

清除本地数据缓存

清除内/外缓存,清除数据库,清除sharedPreference,清除files和清除自定义目录 /* * 文 件 名: DataCleanManager.java * 描 ...
  • u013749540
  • u013749540
  • 2017年10月10日 10:32
  • 189

清除本地浏览器缓存的前世今生

1.前言 首先我们需要知道什么情况下浏览器会缓存下来文件,如下图所示: 清除本地浏览器缓存的前世今生 > image2016-11-8 13:47:18.png" src="http:/...
  • blue1011372655
  • blue1011372655
  • 2016年11月09日 14:28
  • 539

Git清理本地缓存命令

git clean -df 使用这个命令可以清理Git的本地缓存,腾出一部分硬盘空间。
  • skykingf
  • skykingf
  • 2016年06月01日 15:07
  • 15895

git 如何删除缓存的远程分支列表

使用git 部署代码,git branch -a 里面列出的很多远程的分支,其实都是已经被删除了的。 可在git pull,他们仍旧是存在,如何删除这样的缓存? 使用以下命令即可 ...
  • u012894430
  • u012894430
  • 2017年09月20日 21:20
  • 230

cocosPod 清除本地缓存

1、 pod cache list   //查看缓存列表 2、 pod cache clean + 你查找要删除的项目名...
  • ZY_FlyWay
  • ZY_FlyWay
  • 2016年12月13日 10:19
  • 439

删除SVN缓存本地的账号

最近遇到一个问题——客户要更换机器,这个机器里面保存了SVN的用户(权限比较高),而领导只希望他只有对某个文件夹的操作,不希望他能动其他的文件,怕把SVN弄乱了,因此需要切换用户,我给他创建了一个比较...
  • hbiao68
  • hbiao68
  • 2013年12月04日 09:59
  • 1653

清空git暂存区

--2018-02-02--   在git中如果想忽略掉某个文件,不让这个文件提交到版本库中,可以使用修改 .gitignore 文件的方法。这个文件每一行保存了一个匹配的规则例如: ...
  • themagickeyjianan
  • themagickeyjianan
  • 2017年02月17日 18:33
  • 12474

清除本地缓存远程分支

git remote prune origin.
  • yuzeiger
  • yuzeiger
  • 2017年12月22日 10:58
  • 11

svn清除本地缓存

切换svn账号时需要用到: 右键桌面TortoiseSVN   >  settings  >  Saved Data  > clear / clear all...
  • user11223344abc
  • user11223344abc
  • 2017年07月03日 12:40
  • 375

ios 手动清除本地沙盒中的缓存数据

/ 把 图片 写入 沙盒  -(void)photoFile {          //此处首先指定了图片存取路径(默认写到应用程序沙盒 中)     NSArray *paths = NSS...
  • yangchen9931
  • yangchen9931
  • 2015年04月09日 10:50
  • 2959
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:清除本地缓存
举报原因:
原因补充:

(最多只允许输入30个字)