App wegen Speicherdruck beendet, wenn die Kamera in iOS 7 verwendet wird

8

Ich stehe vor einem Fehler App beendet wegen Speicherdruck wenn ich einige Bilder mit UIImagePickerController Kamera erfassen.

Ich erhalte zuerst Speicherwarnungen und dann stürzt die App plötzlich ab. Dieses Problem ist in iOS 7 speziell wie in iOS 6 funktioniert es gut.

Weiß jemand, warum dieses Speicherproblem in iOS 7 bei der Verwendung der Kamera auftritt?

Hinweis: Ich habe versucht, die RAM-Nutzung zu minimieren, da dies auch der Grund für diesen Speicherdruck sein kann. Aber immer noch Warnung bekommen.

    
Nishant Tyagi 11.12.2013, 07:05
quelle

1 Antwort

5

Ich habe diese Antwort gerade auf einen ähnlichen Post gepostet ( iOS 7 UIImagePicker Vorschau des schwarzen Bildschirms ). Folgendes habe ich gesagt:

Vor ungefähr 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 bis 60 Verzögerungen (ähnlich wie bei Ihnen).

Wir haben das Problem gelöst, indem wir UIImagePickerController von der Klasse subclassing zu einem Singleton gemacht haben. So wurde es nur einmal initialisiert. Jetzt ist unsere Verzögerung minimal und wir vermeiden das Leck. Wenn Unterklasse keine Option ist, versuchen Sie eine Klasseneigenschaft in Ihrem ViewController und laden Sie sie einfach wie folgt.

%Vor%

Dann kannst du es später einfach so nennen:

%Vor%

Soweit ich das beurteilen konnte, ist dies nur ein Problem mit dem UIImagePickerController in iOS 7. Vorherige Versionen scheinen in Ordnung zu sein.

    
eckyzero 25.02.2014 19:32
quelle