Ich habe eine UIScrollView
, in der ich eine Reihe von Ansichten beim Scrollen platziert. Es lädt Bilder von einem API-Endpunkt. Das Problem ist, dass das Scrollen nicht so flüssig ist, wie es sein sollte. Ich weiß, dass das hauptsächlich daran liegt, dass der Hauptthread blockiert wird. Ich habe den gesamten Code durchsucht und alle UI-Aktualisierungscodes auskommentiert, aber das schnelle Scrollen ist immer noch verzögert.Was ist der beste Weg, um Code zu finden, der deinen Haupt-Thread blockiert?
Gibt es Hinweise darauf, wie Sie am besten herausfinden können, welcher Teil Ihres Codes den Hauptthread blockiert?
können Sie tatsächlich etwas finden, das den Hauptfaden mit Instrumenten blockiert? – aherlambang
Ja, mehr Details bitte: Welche bestimmte Instruments-Vorlage kann mir helfen, herauszufinden, welche Operation meinen Haupt-Thread blockiert? Es ist entweder nicht in den verknüpften Apple-Dokumenten erwähnt oder nicht offensichtlich. –
Das hängt ganz von Ihrem Code ab. In einigen Fällen können Geräte Thread-Deadlocks finden, aber Thread-Blockierung ist im Allgemeinen eine Debugging-Aufgabe, die eher dazu geeignet ist, Stack-Traces manuell zu untersuchen. Außerdem ist die Anzahl der Möglichkeiten, einen Thread zu blockieren, reichlich und vielfältig, was sogar für Apple eine sehr schwierige Lösung darstellt. – CodaFi