Google Vision API возможна утечка памяти

Я пытаюсь сделать приложение для обработки набора кадров, сохраненных как jpg в приложение с помощью Google-видения API.

Трубопровод прост.

1) Я создаю детектор с некоторыми опциями:

     _options = @{
                  GMVDetectorFaceLandmarkType : @(GMVDetectorFaceLandmarkAll),
                  GMVDetectorFaceClassificationType : @(GMVDetectorFaceClassificationAll),
                  GMVDetectorFaceTrackingEnabled : @(NO)
                  };
    _faceDetector = [GMVDetector detectorOfType:GMVDetectorTypeFace options:_options];

2) Я читаю кадр с помощью этого метода:

    UIImage *image = [UIImage imageWithContentsOfFile:imFile];

Путь, содержащийся в imFile, правильный, я вижу представление Image

3) Наконец, я обрабатываю кадр:

NSArray<GMVFaceFeature *> *faces = [_faceDetector featuresInImage:image options:nil];

С помощью этого кода я могу обрабатывать некоторые кадры, но при анализе многих из них использование памяти приложением увеличивается и приложение автоматически уничтожается.

Я пытался отследить утечку памяти, но, насколько я ее отследил, это происходит изнутри последней части, внутри [detector featuresInImage...]

Есть ли что-то, что я делаю неправильно, или есть утечка памяти внутри? Я пытался найти любую проблему от Google, но не смог найти ее.

РЕДАКТИРОВАТЬ:

Вот что я делаю с каждым из результатов детектора:

    if ([faces count]>0){
        GMVFaceFeature *face = [faces objectAtIndex:0];
        NSFileHandle *myHandle = [NSFileHandle fileHandleForWritingAtPath:filename];
        [myHandle seekToEndOfFile];

        NSString* lineToWrite = [NSString stringWithFormat:@"%u",fNumber];
        lineToWrite = [lineToWrite stringByAppendingString:[NSString stringWithFormat:@",%f",face.smilingProbability]];
        lineToWrite = [lineToWrite stringByAppendingString:@"\n"];
        NSError *errorWrite;
        [myHandle writeData:[lineToWrite dataUsingEncoding:NSUTF8StringEncoding]];

        if(errorWrite){
            NSLog(@"%@",errorWrite);
        }
    }

Метод заканчивается там. Так что, в основном, я создаю файл и пишу в нем.

0 ответов

Другие вопросы по тегам