Ich sehe einen großen Speicherverlust, wenn ich UIImagePickerController
in meiner iPhone App verwende. Ich verwende Standardcode aus den Apple-Dokumenten, um das Steuerelement zu implementieren:
%Vor%
Und für den Abbruch:
%Vor%
Der Rückruf von didFinishPickingMediaWithInfo ist genauso normal, obwohl ich nicht einmal irgendetwas auswählen muss, um das Leck zu verursachen.
Hier ist, was ich in Instrumenten sehe, wenn ich nur die UIImagePickerController
öffne, die Foto-Bibliothek wähle und wiederholt Cancel drücke. Wie Sie sehen können, wächst die Speicherkapazität, und dies führt schließlich dazu, dass sich meine iPhone-App enorm verlangsamt.
Wie Sie sehen können, habe ich den Bilderwähler 24 mal geöffnet, und jedesmal hat er 128kb mallokiert, was nie freigegeben wurde. Grundsätzlich werden 3mb meiner insgesamt 6mb nie veröffentlicht.
Diese Erinnerung bleibt durchgesickert, egal was ich mache. Auch nach dem Wegfahren vom Stromregler bleibt es gleich. Ich habe auch das Picker Control als Singleton mit den gleichen Ergebnissen implementiert.
Hier ist, was ich sehe, wenn ich in diese zwei Zeilen eindringe:
Jede Hilfe hier würde sehr geschätzt werden! Auch hier muss ich nicht einmal ein Bild wählen. Ich stelle nur den Controller vor und drücke Abbrechen.
Update 1
Ich habe apples Beispiel für die Verwendung von UIIMagePickerController
heruntergeladen und ausgeführt, und ich sehe das gleiche Leck dort, wenn Instrumente laufen (sowohl im Simulator als auch auf dem Telefon).
Ссылка
Alles, was Sie tun müssen, ist die Fotobibliothek-Taste zu drücken und die Taste "Abbrechen" immer wieder zu drücken. Der Speicher wird immer größer.
Irgendwelche Ideen?
Update 2
Ich sehe dieses Problem nur beim Betrachten der Fotobibliothek. Ich kann wählen, Foto zu nehmen, und öffne und schließe das immer wieder, ohne ein Leck.