В этом коде есть утечка памяти, но я не могу ее найти. Что я делаю не так? В частности, строки 1 и 2 добавляют к использованию памяти приложений, и только память из первой линии исчезает, когда контекст завершается.UIGraphics Memory Leak
UIGraphicsBeginImageContext(imageView.bounds.size);
[imageView.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
EDIT 1: Полный метод код ниже:
UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
[imageView setFrame:CGRectMake(0, 0, self.view.frame.size.width + 16 - ((int)self.view.frame.size.width % 16), self.view.frame.size.height + 16 - ((int)self.view.frame.size.height % 16))]; // If image width and height is not a multiple of 16, the video becomes distorted when written to a file
imageView.contentMode = UIViewContentModeScaleToFill;
[imageView addSubview:[[UIImageView alloc] initWithImage:[ViewController makeRedCircle]]];
UIGraphicsBeginImageContext(imageView.bounds.size);
[imageView.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
Что заставляет вас думать, что есть утечка? – matt
@matt Он добавляет пару мегабайт в память постоянно каждый раз при запуске. Я протестировал приложение на iPhone 6 с помощью Xcode. – mntruell
Вы использовали Инструменты? - И что такое 'образ'? Что вы делаете с ним позже? Другими словами, можете ли вы дать мне код, который я могу запустить, чтобы воспроизвести утечку? – matt