0
Я использую детектор лица IOS на все возможные ориентации изображения, как этотпамяти детектора лица не выпустило
for (exif = 1; exif <= 8 ; exif++)
{
@autoreleasepool {
NSNumber *orientation = [NSNumber numberWithInt:exif];
NSDictionary *imageOptions = [NSDictionary dictionaryWithObject:orientation forKey:CIDetectorImageOrientation];
NSTimeInterval start = [NSDate timeIntervalSinceReferenceDate];
glFlush();
features = [self.detector featuresInImage:ciimage options:imageOptions];
//features = [self.detector featuresInImage:ciimage];
if (features.count > 0)
{
NSString *str = [NSString stringWithFormat:@"-I- found faces using exif %d",exif];
[faceDetection log:str];
NSTimeInterval duration = [NSDate timeIntervalSinceReferenceDate] - start;
str = [NSString stringWithFormat:@"-I- facedetection total runtime is %f s",duration];
[faceDetection log:str];
self.exif=[[NSNumber alloc] initWithInt:exif];
break;
}
else {
features = nil;
}
}
}
но, кажется, в профилировщике, что память растет каждый раз, когда:
Не уверен, что если это правда, и если да, то как решить вопрос
Я занимаюсь функциями = nil; перед возвратом, но все еще получая использование памяти –
oh Я вижу .... Из вашего кода это выглядит так, как будто это делалось только в инструкции else. Однако было бы лучше сделать это в конце if-statement, поскольку возврат не будет вызываться до тех пор, пока цикл цикла не будет выполняться. – sher