0
我有内存泄漏,无法弄清楚。基本上,我在这里做的是将图像拉到Mutable Dictionary并返回字典。NSData内存泄漏...指向NSConcreteData!
- (NSMutableDictionary *)loadImageDataGroup:(NSUInteger)index {
int lim = 5;
int sta = 0;
if (index > lim) {
sta = index-lim;
}
int fin = (((lim*2)+1)+sta);
if (fin > [self imageCount]) {
sta = ([self imageCount]-((lim*2)-1));
fin = [self imageCount];
}
BOOL firstTime = NO;
if ([imagesLoaded count] == 0) {
firstTime = YES;
}
NSMutableDictionary *tempDict = [[[NSMutableDictionary alloc] init] autorelease];
for (int i = sta; i < fin; i++) {
NSString *imageName = [self imageNameAtIndex:i];
if ([imagesLoaded valueForKey:imageName] == nil) {
// This is the Memory Leak...at least that is where Leaks is pointing me.
NSData *imageData = [NSData dataWithContentsOfURL:[NSURL URLWithString:imageName]];
[tempDict setObject:imageData forKey:imageName];
} else {
[tempDict setObject:[imagesLoaded valueForKey:imageName] forKey:imageName];
}
}
return tempDict;
}
的泄漏发生在NSData的= *的imageData点,并且当我拉起在泄漏,它指向NSConcreteData。
如果你看到NSData的泄漏,这并不一定意味着泄漏是由该行造成的。这可能是因为整个字典被泄露,或者某个地方的某个人保留了NSData并且没有释放它。就内存而言,我看不出任何代码立即出错。 –