From d6534c7fbcc4afcade0dd6702f2e86b033349f24 Mon Sep 17 00:00:00 2001 From: Jeff Cole Date: Fri, 11 May 2012 07:40:49 -0400 Subject: [PATCH] Add getDiskCount, getMemorySize, and getMemoryCount methods to SDImageCache for diagnostic purposes --- SDWebImage/SDImageCache.h | 15 +++++++++++++++ SDWebImage/SDImageCache.m | 30 ++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+) diff --git a/SDWebImage/SDImageCache.h b/SDWebImage/SDImageCache.h index 2a75ced..e0e2e4c 100644 --- a/SDWebImage/SDImageCache.h +++ b/SDWebImage/SDImageCache.h @@ -122,4 +122,19 @@ */ - (int)getSize; +/** + * Get the number of images in the disk cache + */ +- (int)getDiskCount; + +/** + * Get the number of images in memory cache + */ +- (int)getMemorySize; + +/** + * Get the number of images in the memory cache + */ +- (int)getMemoryCount; + @end diff --git a/SDWebImage/SDImageCache.m b/SDWebImage/SDImageCache.m index 815d217..171e358 100644 --- a/SDWebImage/SDImageCache.m +++ b/SDWebImage/SDImageCache.m @@ -360,4 +360,34 @@ static SDImageCache *instance; return size; } +- (int)getDiskCount +{ + int count = 0; + NSDirectoryEnumerator *fileEnumerator = [[NSFileManager defaultManager] enumeratorAtPath:diskCachePath]; + for (NSString *fileName in fileEnumerator) + { + count += 1; + } + + return count; +} + +- (int)getMemorySize +{ + int size = 0; + + for(id key in [memCache allKeys]) + { + UIImage *img = [memCache valueForKey:key]; + size += [UIImageJPEGRepresentation(img, 0) length]; + }; + + return size; +} + +- (int)getMemoryCount +{ + return [[memCache allKeys] count]; +} + @end