Ich habe gerade diese Antwort auf einen ähnlichen Beitrag (iOS 7 UIImagePicker preview black screen) geschrieben. Hier ist, was ich gesagt habe:
Vor etwa 5 Monaten entdeckte mein Team ein Speicherleck mit UIImagePickerController. Jede Instantiierung verlangsamte die App exponentiell (d. H. Das erste Alloc-Init hatte eine Verzögerung von 1 Sekunde, das zweite hatte eine Verzögerung von 2 Sekunden, das dritte hatte eine Verzögerung von 5 Sekunden). Schließlich hatten wir 30-60 Verzögerungen (ähnlich wie bei Ihnen).
Wir haben das Problem gelöst, indem wir UIImagePickerController von der Klasse subclassing abschnitten und es zu einem Singleton machten. So wurde es nur einmal initialisiert. Jetzt ist unsere Verzögerung minimal und wir vermeiden das Leck. Wenn Unterklassen keine Option ist, versuchen Sie eine Klasseneigenschaft in Ihrem ViewController und laden Sie sie einfach wie in diesem Fall.
-(UIImagePickerController *)imagePicker{
if(!_imagePicker){
_imagePicker = [[UIImagePickerController alloc]init];
_imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
}
return _imagePicker;
}
Dann können Sie es einfach anrufen später wie:
[self presentViewController:self.imagePicker animated:YES completion:nil];
Von dem, was ich sagen könnte, das ist nur ein Problem mit dem UIImagePickerController in iOS 7. Frühere Versionen in Ordnung zu sein scheint.
Verwenden Sie das Werkzeug "Zuordnungen" in den Instrumenten, um genau zu sehen, was Ihren RAM verbraucht und wann er zugewiesen wird. – NSAdam
Ich habe in iPhone 5 auch in iOS 7 getestet. Es funktioniert gut in iPhone 5. Nur in iPad Mini bekommen diese Warnung. –
das ist ein Problem mit ipad mini – Saurabh