Zauważyłem, że kiedy ładuję UIImagePickerController i robię z nim zdjęcie didReceiveMemoryWarning
jest nazywany. Ponadto w instrumentach występuje znaczny wyciek pamięci (nie przeze mnie, przysięgam!). Słyszałem, że jest to problem z kontrolerem UIImagePickerController, ale nie wiem, jak to naprawić. Oto moja implementacja UIImagePickerController.
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init]; // Create the imagePicker
imagePicker.delegate = self;
imagePicker.allowsEditing = YES; // Allow editing of the images
imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
[self presentModalViewController:imagePicker animated:YES];
[imagePicker release];
Jakieś pomysły? Naprawdę nie chcę poświęcać tak użytecznej funkcji.
Odpowiedzi:
0 dla odpowiedzi № 1Czy masz taki sam wyciek z SDK 3.2?
Miałem podobny wyciek podczas korzystania z kontrolera UIImagePickerController do wykonania wideo.
Kiedy odkryłem, że wyciek został naprawiony w 3.2, postanowiłem ustawić minimalną wersję mojej aplikacji na 3.2.
O ostrzeżeniu pamięci należy się spodziewać. Kamera potrzebuje dużo pamięci do wykonania swojej pracy i po prostu żąda od aplikacji jak największej ilości pamięci, wysyłając wiadomość didReceiveMemoryWarning.
0 dla odpowiedzi nr 2
Musisz przeskalować obraz do mniejszego rozmiaru, powiedzmy 320x460. Wtedy będzie działać pomyślnie.