2017-08-17 4 views
-1

Ich habe einige Speicherverluste in meiner iOS App. Ich habe eine Generation markiert, eine neue VC geöffnet, bin zur vorherigen VC zurückgekehrt und habe die zweite Generation markiert, nachdem die zweite VC deinit aufgerufen wurde.Instrumente Lecks Tools Tipps

Die Instrumente zeigen deutlich, dass ich Lecks habe. Allerdings habe ich Probleme zu verstehen, was passiert. Zum Beispiel auf die Bilder unten, erscheint ein Leck in dem Verfahren geschehen initScrollView() aber die annotations zeigen 93.5% auf einer Linie, die nach mir, kann nicht auslaufen ...

ich für Tutorials suchen habe, aber ich konnte nicht‘ Ich finde einen guten, der mich über den letzten Teil aufklärt: Verstehen WAS die Lecks verursacht. Auch wenn ich weiß, dass das etwas Recherche benötigt, hätte ich gerne ein paar Tipps und TODOS!

Hier sind meine screenshots:

1) stacktrace stacktrace

2) Anmerkungen annotations

Antwort

0

Das erste, was Sie ist die Leaks Instrument verwenden tun sollten, um die Quelle von Speicherlecks zu finden. Ihre Screenshots stammen vom Instrument "Zuweisungen". Alle 93,5% in Ihrem Beispiel sagen Ihnen, dass das attributierteTitel 93,5% des Speichers zuweist, den die Funktion initScrollView() zuweist. Es teilt Ihnen nicht mit, dass das attributeTitle-Attribut Speicherlecks verursacht. Ihr Ansatz zur Verwendung von Instrumenten ist korrekt: Wechseln Sie in die Anrufstrukturansicht, kehren Sie die Anrufstruktur um und blenden Sie die Systembibliotheken aus. Bei Speicherlecks ist Ihr Ansatz effektiver, wenn Sie das Leaks-Instrument verwenden.

Denken Sie daran, dass all das Leaks-Instrument Ihnen sagen kann, wo Ihr Code ausgelaufenen Speicher zuweist. Der Ort, an dem Ihr Code ausgelaufenen Speicher zuweist, ist möglicherweise nicht die Quelle des Lecks, aber es ist ein guter Ausgangspunkt. Die Quelle des Lecks hängt von Ihrem Code ab, so dass ein Tutorial Ihnen nicht die Quelle des Lecks in Ihrem Code mitteilen kann.

Wenn Sie nach Tutorials suchen, Ray Wenderlich's site hat eine Reihe von Instrumenten Tutorials. Ich schrieb auch einen Artikel Einführung Instrumente auf meinem Blog, die auf den Einsatz von Instrumenten mehrere Artikel hat

Getting Started with Instruments