2014-02-28 10 views
19

Ich habe Probleme mit einer Verlangsamung, die in UITextView auf iOS 7 auftritt, wenn Sie viel Text eingeben. Ich habe einen Tracer in NSLayoutManager platziert und festgestellt, dass drawGlyphsForGlyphRange N * 2 Mal ausgeführt wird, wobei N die Anzahl der Male angibt, die Ihre Zeilen wortumgehüllt sind. Hierios - iOS 7 UITextView ist langsam nach der Eingabe von viel Text

ist der Beispielcode:

https://github.com/philipkd/UITextViewSlow

zu reproduzieren das Problem, das es auf dem iPad laufen und eine physische Tastatur anschließen. Mash die Buchstaben und die Leertaste für etwa 15 Sekunden, und beachten Sie, dass es langsamer wird. Wenn Sie dann versuchen, normal zu tippen, ist es sehr langsam. Das ist ein extremes Beispiel, aber wenn Sie versuchen, zwei Absätze mit einer angemessenen Geschwindigkeit einzugeben, staut es sich.

Dies ist kein Problem mit UITextView auf iOS 6.

+0

Gute Idee. Ich ging voran und tat das. Wird zurück melden. – Philosophistry

+0

@PhilosophyPistry Bitte posten Sie die Fehlerbericht Nummer, so dass Menschen duplizieren können. Textansichten haben sich von iOS6 zu iOS7 dramatisch verändert. Es wird Zeit brauchen, bevor sie sich stabilisieren. –

+0

Die Bug Report Nr. Ist 16195402 – Philosophistry

Antwort

-1

Ist verlangsamt passieren, wenn man in (Xcode Debugging) Ihr ipad auf dem macbook/iMac angeschlossen? Wenn ja, versuchen Sie, das Kabel zu trennen und versuchen Sie es erneut, wenn das Kabel nicht angeschlossen ist. Prüfen Sie, ob es sich noch verlangsamt oder nicht. Wenn nicht, dann passiert das nur beim Debugging. (Es ist nur meine Vermutung, da ich nicht Inhaber einer externen Tastatur bin)

2

Schalten Sie Hintergrundaktualisierung in Einstellungen Allgemein. Auch, NSLog loszuwerden - sie verlangsamen über das, was sie braucht, um zu drucken.

Ich konnte den Verlangsamungseffekt auf iPad unter IOS7 reproduzieren. Tatsächlich hatte IOS6 keine Background App Refresh.

Ich glaube Apple zielt auf Top-Modell, alle anderen müssen anpassen.

+0

Nach F79. Das Zielen auf IOS6 würde nicht helfen, wenn man auf IOS7 läuft. Obwohl Speicher reinigt (vier Finger hoch Geste oder Doppelklick-Taste) und dann aktive Apps hochziehen. Auch die Deaktivierung ** Hintergrund-App-Aktualisierung ** würde helfen. – matrix3003

Verwandte Themen