2012-10-18 47 views
1

任何人都可以告诉我在UITableView中使用静态和动态单元之间的性能/内存使用权衡?UITableView动态与静态单元分配性能/内存使用

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

所以说,我静态分配的第一部分50 cells,但仍然只显示可能只有一半取决于应用程序的状态。尽管如此,我希望能够最多显示50 cells。这将如何影响我的应用程序的速度或性能?动态地执行整个tableView并为每个其他部分重新绘制switchestextFields以每次都可以获得更好的应用程序性能?

+0

试试看! – Sneakyness

回答

2

在这种情况下,UITableView本身仅与性能相关。真正的问题是如何以及何时分配新单元。如果你有静态单元格的内容永远不会改变,并且你使用界面生成器(néeInterface Builder)创建它们,你将会看到这个分配只发生一次,通常在-viewDidLoad以及该表格的生命周期(或至少直到-viewDidUnload)这些单元将存在并且不需要重新分配。

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