【问题标题】:iPhone UITableViewCell performance adding multiple Views vs one View with drawRectiPhone UITableViewCell 性能添加多个视图与使用 drawRect 的一个视图
【发布时间】:2011-10-06 15:02:59
【问题描述】:

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

1) 将我需要的所有内容作为单独的视图添加到 contentView,对文本使用 UILabels,对图像使用 UIImageViews(目前正在使用这个)

2) 将单个子类视图添加到 contentView,将我的所有文本添加为​​ NSString,然后是我的图像和 UIImages,然后在 drawRect 中绘制所有内容

什么会表现得更好,在什么情况下一个是更好的选择?,正如我所看到的,除非你真的在 contentView 中画线或其他东西,否则简单地使用选项 1 会更容易,并且根据对于这个Cocoa with love custom cells,虽然有点旧,但效率更高,所以我不知道这是否改变了。

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

【问题讨论】:

    标签: iphone uitableview uiimage uilabel drawrect


    【解决方案1】:

    从使用单独的 UILabel 和 UIImageView 的第一种方法开始。如果您发现性能问题,请在实际设备上进行测试并进行优化。

    根据我选择的内容,选项 1 比在一个视图中绘制所有内容要快。尤其是当该视图必须绘制图像时。 UIImageView 被苹果大量优化。

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

    【讨论】:

      【解决方案2】:

      我认为自己绘制文本会稍微更有效率。但是,只要您保持所有标签的背景不透明,我怀疑差异是否足够重要,因此请使用最容易编程的方法,并避免过早优化。

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

      【讨论】:

        猜你喜欢
        • 2017-10-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-01-27
        • 1970-01-01
        • 2011-12-14
        • 1970-01-01
        相关资源
        最近更新 更多