【发布时间】:2017-10-19 08:18:43
【问题描述】:
我认为我在 iOS 11 中使用 Objective-C 发现了一个错误。如果您创建一个包含大量文本字段或文本视图的空项目,您会看到 CPU 使用率失控。通过 Instruments,我发现即使您解除分配文本字段,使光标/插入符号闪烁的事件也会继续被调用。
我有一个大项目,表格的每一行都有 2 个文本字段,但我真的不知道如何解决它。具有讽刺意味的是,即使您没有看到闪烁的光标,也会调用此事件。
有人遇到过这个问题吗?
这就是所谓的:
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 聚焦时,都会不断调用 UITextView 方法并增加 CPU 使用率。不幸的是,等待下一个 iOS 版本。
-
我在 Apple Bug Reporter 官方网站上打开了一份报告,在这里我们正在讨论它:forums.developer.apple.com/thread/89616?sr=stream&ru=593697
标签: ios objective-c uitextfield uitextview ios11