1

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

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

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

4

1 回答 1

2

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

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

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

于 2012-10-18T19:26:32.967 回答