我有一个带有自定义单元格的表视图,我试图优化它,使滚动尽可能平滑。我遵循了大多数关于表视图优化的建议,例如,使用固定高度,而不是使用AutoLayout等等。
除了一件事外,我已经在一个非常优化的状态下取得了成就。自定义单元有一个图像和多个UILabel,使用一个图像和3个标签,性能非常好。然而,当我添加第四个标签时,我开始观察到一些抽搐,非常小,但不像以前那么平滑。
我在网上搜索了一下,发现CoreText可以提高性能。CoreText是正确的方向吗?当在表视图中使用时,还有其他可以帮助提高UILabel性能的东西吗?
编辑:
我只通过设置UILabel的字体、字体颜色、文本和numberOfLines来使用简单的函数。
发布于 2016-02-09 04:35:36
核心文本可能是性能的最终解决方案,但即使在实现之前,我也喜欢使用一个名为PaintCode的程序来绘制我的单元格的内容,如果它们特别复杂的话。
不过,在你需要达到这一点之前,你还可以做一些事情来加快速度:
cellForRow之前进行所有计算。因此,任何数字格式、日期计算等都应该事先完成并存储在模型对象上。这样,您就可以直接将它们插入到您的单元格属性中,它们就可以显示了。在cellForRow上花费的任何额外时间都会减慢tableview的速度。

发布于 2016-02-09 04:39:44
默认情况下,在所有标签中保留一些虚拟文本。更新文本不会占用内存。CoreText是相当昂贵的,而且可能不是为了这个!我认为虚拟文字技巧应该适用于你。
希望这能行。
https://stackoverflow.com/questions/35283922
复制相似问题