Ios 如果窗口设置了“淡色”,则添加子视图时的性能为O(n^2)
如果在Ios 如果窗口设置了“淡色”,则添加子视图时的性能为O(n^2),ios,ios9,Ios,Ios9,如果在ui窗口级别上设置tintColor(让所有视图继承它),addSubview的性能为O(n^2)。这意味着,如果将大量子视图添加到任何单个父视图中,则可能会获得极其糟糕的性能 作为测试,如果在这些条件下添加6000个子视图,则需要10分钟以上的时间才能全部添加。如果不设置tintColor添加那么多子视图需要1秒的时间 Bug归档为rdar://problem/25934331 目前可能的解决办法是什么?至少可以通过两种方式缓解此问题: 清除tintColor,添加子视图,然后立即将ti
ui窗口
级别上设置tintColor
(让所有视图继承它),addSubview
的性能为O(n^2)。这意味着,如果将大量子视图添加到任何单个父视图中,则可能会获得极其糟糕的性能
作为测试,如果在这些条件下添加6000个子视图,则需要10分钟以上的时间才能全部添加。如果不设置tintColor
添加那么多子视图需要1秒的时间
Bug归档为rdar://problem/25934331
目前可能的解决办法是什么?至少可以通过两种方式缓解此问题:
tintColor
,添加子视图,然后立即将tintColor
设置回其原始值。如果您在同一个runloop迭代中执行此操作,那么它通常不会在屏幕上显示tintColor
。在这种情况下,它似乎不会引发问题