我认为我发现了Objective-C在iOS 11中的一个bug。如果您使用大量文本字段或文本视图创建空项目,则会看到CPU使用率失控。通过仪器,我发现即使您释放文本字段,使光标/插入符闪烁的事件也会继续被调用。UITextField/UITextView - iOS 11 - CPU使用率高
我有一个很大的项目,每个表格中有两个textfields,我真的不知道如何解决它。具有讽刺意味的是,即使您没有看到闪烁的光标,也会调用此事件。
任何人都遇到过这个问题?
这是现在被称为:
Main Thread
start
0x100b2fcde
UIApplicationMain
GSEventRunModal
CFRunLoopRunSpecific
_CFRunLoopRun
_CFRunLoopDoTimer
_DFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION_
_NFFireTimer
-[UITextSelectionView caretBlinkTimerFired:]
48% - [UITextSelectionView showCaret:]
48% -[UITextSelectView hideCaret:]
附: 我在iOS 10.3上尝试了相同的程序,它工作正常。
我在iOS 11.0.3上测试我的应用程序时遇到了同样的错误。我分析了仪器的CPU使用情况,发现UITextView方法不断被调用,并增加CPU使用率,每次重点都是UITextView。不幸的是,等待下一个iOS版本。 –
我在Apple Bug Reporter官方网站上打开了一个报告,这里我们正在讨论它:https://forums.developer.apple.com/thread/89616?sr=stream&ru=593697 –