iPhone UITableViewCell添加多个视图vs一个视图与drawRect的性能



我正在创建一些UITableViewCells,里面有几个自定义项目,我的问题是要走什么路线:

1)添加所有我需要作为单独的视图contentView,使用UILabels的文本和UIImageViews的图像(目前使用这个)

2)添加一个单一的子类视图到contentView,和所有的文本作为NSString然后我的图像和UIImages和绘制在drawRect的一切

什么会表现得更好,在什么情况下一个会比另一个更好?,因为我看到它,除非你实际上在contentView中绘制线条或其他东西,简单地与选项1将更容易,并根据这个Cocoa with love自定义单元格它是更有效的,虽然它有点旧,所以我不知道这是否已经改变。

那么什么对性能更好,在什么情况下你肯定会使用其中一个而不是另一个?

从第一个方法开始,使用单独的uiabel 's和UIImageView's。在实际设备上进行测试,如果发现性能问题就进行优化。

根据内容,我有选项1比在一个视图中绘制所有内容更快。特别是当视图需要绘制图像时。UIImageView已经被苹果优化过了

获得性能指标的一个好方法是使用核心动画工具。

我认为自己绘制文本会更有效率。然而,只要你保持所有标签的背景不透明,我怀疑这种差异是否足够重要,所以选择最容易编程的,并避免过早的优化。

(不透明背景非常重要——透明背景的标签是导致表视图效率低下的一大原因。尽管如此,除非您有数百个,否则可能不会有太大的问题。

最新更新