/ / Wyciek pamięci w Objective-C (VideoTooplbox, MediaToolBox, AVFoundation) - C-C, wycieki pamięci

Objective-C Memory Leak (VideoTooplbox, MediaToolBox, AVFoundation) - cel-c, wycieki pamięci

Mam problem z wyciekiem pamięci. Myślę, że ten kod nie działa poprawnie?

UseCase to:
Zrób zdjęcie pełnoekranowe (portret) i zapisz w UIImageview.

Problem: wykonane zdjęcie nie było równe zapisanemu obrazowi. Po zapisaniu obrót obrazu w moim widoku UIImage był poziomy.

Rozwiązanie: zmień orientację obrazu (patrz. RemoveRotationForImage)

Nowy problem: czasami widok się zawiesza, jeśli zrobię zdjęcie i naciśnie przycisk „użyj obrazu”. I wycieki pamięci.

Jak mogę rozwiązać ten problem?

wprowadź opis obrazu tutaj

{

-(IBAction)takePhoto:(id)sender{

UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.allowsEditing = NO;
picker.sourceType = UIImagePickerControllerSourceTypeCamera;
[self presentViewController:picker animated:YES completion:NULL];
}

{

-(UIImage *)removeRotationForImage:(UIImage*)image {

if (image.imageOrientation == UIImageOrientationUp) return image;

UIGraphicsBeginImageContextWithOptions(image.size, NO, image.scale);
[image drawInRect:(CGRect){0, 0, image.size}];
UIImage *normalizedImage =  UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

return normalizedImage;

}

{

-(void)imagePickerController:(UIImagePickerController *)imagePickerController didFinishPickingMediaWithInfo:(NSDictionary *)info {

NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
chosenImage = info[UIImagePickerControllerOriginalImage];
UIImage *imageWithCorrectOrientation = [self removeRotationForImage:chosenImage];
..
..
..
}

Odpowiedzi:

0 dla odpowiedzi № 1

Mamy również podobny problem. Utworzyłem wątek @ https://stackoverflow.com/questions/42177221/iphone-app-crashes-randomly-while-capturing-more-than-100-photos-uiimagepickerco link też. Prosimy o przedstawienie opinii, jeśli została ona rozwiązana za Ciebie.