问题
I'm having trouble with a slowdown that occurs in UITextView on iOS 7 when typing lots of text. I put a tracer in NSLayoutManager and identified that drawGlyphsForGlyphRange runs N*2 times, where N is the number of times your lines word-wrapped.
Here is the sample code:
https://github.com/philipkd/UITextViewSlow
To reproduce the problem run it on an iPad and attach a physical keyboard. Mash the letters and the space bar for about 15 seconds, and notice it slows down. Then when you try to type normally, it's really slow. That's an extreme example, but if you just try typing two paragraphs at a reasonable speed, it'll jam up.
This is not a problem with UITextView on iOS 6.
回答1:
Turn off Background App Refresh in Settings General. Also, get rid of NSLog--they slow down beyond what it takes them to print.
I was able to reproduce the slow down effect on iPad under IOS7. In fact IOS6 did not have Background App Refresh.
I believe Apple aims for top of the line models, all others have to adjust.
回答2:
Is the slows down happen when you plugged in (Xcode debugging) your ipad to the macbook/iMac? If yes, try to unplug the cable and try it again with the cable unplugged, see if it still slows down or not. If not, then it only happen when debugging process. (It's just my guess, since I'm not owner of an external keyboard)
来源:https://stackoverflow.com/questions/22084906/ios-ios-7-uitextview-is-slow-after-typing-lots-of-text