【问题标题】:UITableView Dynamic vs. Static Cell Allocation Performance / Memory UsageUITableView 动态与静态单元格分配性能/内存使用情况
【发布时间】:2012-10-09 08:21:08
【问题描述】:

谁能告诉我在UITableView 中使用静态和动态单元格在性能/内存使用方面的权衡?

这是我的情况:我有一个TableView,有 6 个不同的部分。第一部分是我的 tableView 中唯一在每次加载视图时包含不同数量的单元格的部分,具体取决于应用程序的当前状态。即我已经在界面生成器中为该部分声明了 12 个static cells,但是我只显示了一定数量的cells,具体取决于到目前为止用户与应用程序的交互。其他 5 个tableView 部分都包含永远不会改变的UISwitchestextFields

假设我为第一部分静态分配了 50 个cells,但根据应用程序的状态,仍然只显示其中的一半。我希望能够显示多达 50 个cells。这将如何影响我的应用程序的速度或性能?每次动态执行整个tableView 并为其他部分重新绘制switchestextFields 会导致更好的应用程序性能吗?

【问题讨论】:

    标签: iphone ios performance uitableview memory


    【解决方案1】:

    UITableView 本身在这种情况下只与性能无关。真正的问题是如何以及何时分配新单元格。

    如果您有内容永远不会更改的静态单元格,并且您使用界面构建器(née Interface Builder)创建它们,您将看到分配只发生一次,通常在-viewDidLoad,并且在该表的生命周期内(或者至少在-viewDidUnload之前)这些单元将存在并且不需要重新分配。

    但这是一个权衡。现在您的单元格将加载得更快,但您的应用程序将拥有更多内存。您只需要根据具体情况决定这是否会显着降低您的应用程序的速度,在这种情况下,您可能希望在数据源单元格获取方法中以典型的“动态”样式延迟加载静态单元格.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-02-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多