iOS中 SDWebImage手动清除缓存的方法 技术分享

1.首先要找到SDImageCache类、才可以以下的方法

2.添加如下方法:

[objc] view plaincopy

  1. - (float)checkTmpSize
  2. {
  3. float totalSize = 0;
  4. NSDirectoryEnumerator *fileEnumerator = [[NSFileManager defaultManager] enumeratorAtPath:diskCachePath];
  5. for (NSString *fileName in fileEnumerator)
  6. {
  7. NSString *filePath = [diskCachePath stringByAppendingPathComponent:fileName];
  8. NSDictionary *attrs = [[NSFileManager defaultManager] attributesOfItemAtPath:filePath error:nil];
  9. unsigned long long length = [attrs fileSize];
  10. totalSize += length / 1024.0 / 1024.0;
  11. }
  12. //    NSLog(@"tmp size is %.2f",totalSize);
  13. return totalSize;
  14. }

新版的SDImageCache类,已增加此方法

[objc] view plaincopy

  1. [[SDImageCache sharedImageCache] getSize];

3.在设置里这样使用

[objc] view plaincopy

    1. #pragma 清理缓存图片
    2. - (void)clearTmpPics
    3. {
    4. [[SDImageCache sharedImageCache] clearDisk];
    5. //    [[SDImageCache sharedImageCache] clearMemory];//可有可无
    6. DLog(@"clear disk");
    7. float tmpSize = [[SDImageCache sharedImageCache] checkTmpSize];
    8. NSString *clearCacheName = tmpSize >= 1 ? [NSString stringWithFormat:@"清理缓存(%.2fM)",tmpSize] : [NSString stringWithFormat:@"清理缓存(%.2fK)",tmpSize * 1024];
    9. [configDataArray replaceObjectAtIndex:2 withObject:clearCacheName];
    10. [configTableView reloadData];
    11. }
时间: 2024-08-03 19:17:28

iOS中 SDWebImage手动清除缓存的方法 技术分享的相关文章

SDWebImage手动清除缓存的方法

1.找到SDImageCache类 2.添加如下方法: [objc] view plaincopyprint? - (float)checkTmpSize { float totalSize = 0; NSDirectoryEnumerator *fileEnumerator = [[NSFileManager defaultManager] enumeratorAtPath:diskCachePath]; for (NSString *fileName in fileEnumerator) {

linux中手动释放缓存的方法

linux中手动释放缓存的方法  Linux释放内存的相关知识介绍: 在Linux系统下,我们一般不需要去释放内存,因为系统已经将内存管理的很好.但是凡事也有例外,有的时候内存会被缓存占用掉,导致系统使用SWAP空 间影响性能,例如当你在linux下频繁存取文件后,物理内存会很快被用光,当程序结束后,内存不会被正常释放,而是一直作为caching.,此时就需 要执行释放内存(清理缓存)的操作了. Linux系统的缓存机制是相当先进的,他会针对dentry(用于VFS,加速文件路径名到inode的

jquery ajax清除缓存的方法

function cityListChange(cityCode){ //{lon=121.491121, name=上海, province=上海市, telPrefix=021, provinceid=310000, code=310100, lat=31.243466, platePrefix=沪} $.ajax({ type: "get", dataType: "json", url: "${contextPath}/carUpload/cityL

iOS利用SDWebImage图片下载缓存

一.我们先来了解一下SDWebImage的使用: 1.导入框架,引入头文件: #import "UIImageView+WebCache.h" 也可以直接使用CocoaPods来引入和管理 (OC 如下) platform :ios, '7.0' pod 'SDWebImage', '~>3.8' (swift)并且要确保添加了use_frameworks,iOS版本为8.0+ platform :ios, '8.0' use_frameworks! 2.图片下载并缓存方法: /

varnish4配置手动清除缓存

varnish4清楚缓存方法主要有,通过varnishadm 管理,或vcl配置. 其中vcl配置可以让客户端手动请求清楚缓存,以保证局部数据及时更新,而不用重启varnish服务器. 配置方法: #允许清除缓存IP集 acl purge_ip{     "127.0.0.1";     "localhost"; } sub vcl_recv {    if(req.method ~ "update"){       if(client.ip ~

iOS 用 SDWebImage 清理图片缓存

转自:http://www.cnblogs.com/qianLL/p/5389079.html 具体效果如下 1.找到 SDWebImage找到SDImageCache类 添加如下方法 - (float)checkTmpSize { float totalSize = 0; NSDirectoryEnumerator *fileEnumerator = [[NSFileManager defaultManager] enumeratorAtPath:_diskCachePath]; for (N

清除缓存的方法(计算)

1.计算 - (float)checkTmpSize { float totalSize = 0; NSDirectoryEnumerator *fileEnumerator = [[NSFileManager defaultManager] enumeratorAtPath:diskCachePath]; for (NSString *fileName in fileEnumerator) { NSString *filePath = [diskCachePath stringByAppend

页面布局中常用的清除浮动的方法

我们在页面布局时,基本上都避免不了使用float,但由此也会引发一些问题,尤其是在容器高度不固定时,此时它的高度完全是由内部的元素撑开的.如果内部元素还是浮动的,那么由于内部的元素脱离了文档流,父容器就不能被撑开了.如果父容器设置的有背景或者边框的话,此时就不能正常显示了,另外,父容器下边的其他容器或内容也会跟着向上"浮", 占据上面的子容器应该占据的位置.那么,这时就需要清除浮动了. 这里总结的几种的方法主要就是针对类似于上面的问题的,但也不仅限于以上问题.主要有以下几种方法: 1.

java 手动清理缓存的方法

有时候会感觉代码如何也查不出问题,可是缓存就是清好几遍了 这个时候就试试手动清理缓存 到你的编译路径下面 E:\java-workspace\wem\work\org\apache\jsp 手动删除你的文件目录下面的运行的文件就行了 ,系统再次运行会再次编译的