4

我有一个 UITextView,与 TextKit 堆栈相连:自定义 NSTextStorage 子类和标准 NSLayoutManager + NSTextContainer 实例。

在编辑一个大型文档(~80kb,~200 个 URL 链接)时,我们应用程序的主线程在“链接化”过程中冻结了 10 多秒:URL 检测 + 突出显示。

在 Instruments 会话之后,我发现方法 'NSTextStorage.processEditing()' 被调用了约 800 次——对于上述场景——。

作为记录,UITextView 实例的检测器设置如下:

self.dataDetectorTypes = UIDataDetectorTypeAll;

我测试的第一件事是:使用 Apple 的 NSTextStorage 类,而不是自定义子类。结果完全相同:processEditing 是一个严重的瓶颈。

我正在寻找加快这个过程的方法。任何建议都将受到欢迎!

提前致谢!!

4

0 回答 0