Objective c 呈现表格视图单元格的最快方法?

Objective c 呈现表格视图单元格的最快方法?,objective-c,performance,optimization,uitableview,uilabel,Objective C,Performance,Optimization,Uitableview,Uilabel,我正在开发一个应用程序,它要求我在表格单元格中显示许多短文本字符串。目前,我使用的是一个默认的表视图单元格,添加了大约14个UILabel。这些标签中的一半包含不会更改的静态文本,而另一半包含在滚动表格时必须更新的动态数据 由于我的客户抱怨表滞后,我想知道是否有更优化的方法来显示数据,并提高滚动性能。例如,如果固定文本直接呈现在视图上,而不是包含在UILabels中,则在滚动表格时,表格单元格的呈现速度会更快吗?我还可以使用哪些其他方法来提高滚动性能?表视图滚动中的性能问题可以由任意数量的问题引

我正在开发一个应用程序,它要求我在表格单元格中显示许多短文本字符串。目前,我使用的是一个默认的表视图单元格,添加了大约14个UILabel。这些标签中的一半包含不会更改的静态文本,而另一半包含在滚动表格时必须更新的动态数据


由于我的客户抱怨表滞后,我想知道是否有更优化的方法来显示数据,并提高滚动性能。例如,如果固定文本直接呈现在视图上,而不是包含在UILabels中,则在滚动表格时,表格单元格的呈现速度会更快吗?我还可以使用哪些其他方法来提高滚动性能?

表视图滚动中的性能问题可以由任意数量的问题引起。例如:

  • 确保
    ui标签
    s不透明,以避免混合。(可以在Core动画工具中选择“颜色混合层”选项来验证这一点)
  • 请确保使用
    dequeueReusableCellWithIdentifier:

如果您可以发布您的
tableView:cellForRowAtIndexPath:

的实现,这可能会有所帮助。除了anshuchimala的回答之外,我建议您删除静态标签,并将其集成到UIImageVie中,作为背景图像在tableView单元格中使用。
除了不透明性(anshuchimala提到)是一个巨大的性能拦截器外,大量使用
NSDateFormatter
实例也会大大降低性能(尤其是NSDateFormatter实例的实例需要很大的能力)

动态单元格的文本提取到底是如何进行的?您是为每个单元格发送单独的请求,还是只发送一个请求,返回100行数据,然后进行格式化?我发送一个请求,以xml格式获取大约20-50个条目。然后,我将这些值分配给cellForRowAtIndexPath中的单元格和条目。是的,我有透明的UILabel。将UILabels更改为不透明会大大提高性能吗?(是的,我已经在重用uitableviewcells了。)嗨,不幸的是,我需要本地化字符串,这意味着我不能简单地将它们包含到静态图像中。此外,每个单元的图像不会占用更多空间吗?图像将被缓存,iOS将在内存中只保留一个图像实例(据我所知:D)。不过,您可以制作背景图像的本地化版本。