在第3代iPad(wifi / AT& T蜂窝)的内容可编辑UIWebView中输入文本几分钟后,键盘反应越来越慢,直到应用程序不再可用。 (在iOS 5.x和iOS6下测试)。这个bug已经提交给Apple了,我没有得到任何消息。这是问题所在。
在内容可编辑的UiWebView中,用户开始在键盘上输入内容。您可以键入2到10分钟,也可以键入一些文本,然后在应用程序仍处于前台时暂停键入
经过一段时间的延迟,键盘的反应时间变得越来越慢,直到完全没有反应。应用程序没有崩溃(添加一个断点使应用程序暂停),但是无法输入文本,除了强制退出和重新加载应用程序之外没有其他解决方案。
iOS 6模拟器上不会出现此问题。 iPad(第三代)今年早些时候在法国购买,配备64GB Wifi和Cellular / AT& T
iOS 5中也会出现此问题。
我的应用创建了一个每0.8秒触发一次的NSTimer来调用一个专用于垂直滚动的scroll:方法(如果需要)。减少NSTimer发射延迟会加速问题的唤醒。
禁用scroll:方法时,不会出现问题。似乎在UIWebView中调用的javascript创建了永不停止的进程,因此需要越来越多的CPU时间,因此应用程序最终会变得无响应(参见第5点)。
[WebVisiblePosition withinTextUnitOfGranularity:inDirectionIfAtBoundary] (在用户不活动10分钟后,总运行时间的40%)
[WebHTMLView(WebNSTextInputSUpport)insertText:] (在用户不活动10分钟后,总运行时间的29%)
[WebVisiblePosition enclosingTextUnitOfGranularity:inDirectionIfAtBoundary] (在用户不活动10分钟后,总运行时间的16%)
是否有人必须处理此类问题。是否可以针对该问题设计转机?