【问题标题】:Scrolling UITableView slow滚动 UITableView 慢
【发布时间】:2012-03-16 11:33:28
【问题描述】:

我有一个 tableView ,每行有四个图表,大约 20 行。 当我尝试滚动表格时,我将删除现有图表并为每一行构建新图表。

这个操作使得表格视图的滚动很慢。 让滚动更快以及加载新图表的任何想法。

【问题讨论】:

  • 您的图表数据是否在滚动过程中发生变化?
  • 是的,每一行的数据都不一样。
  • 我的意思是同一单元格的数据是否正在更新(如果是这种情况,您真的需要重新绘制图表)?

标签: ios uitableview


【解决方案1】:

创建新视图是一项昂贵的操作。这就是为什么最好重复使用它们。您可以通过将现有视图“出列”以进行回收来做到这一点。

也可以看看Table View Programming Guide for iOS

具体来说,请查看“子类化 UITableViewCell”部分,其中涵盖了优化技术,例如

仅在适当的时候绘制整个单元格。你的子类 UITableViewCell 可以在它的 drawRect: 方法中绘制它的所有内容, 但是您应该意识到这种方法的潜在缺点。 自定义绘图适用于单元格的图层,可以通过 放置在它上面的任何视图。例如,在分组的表视图中 样式,背景视图(backgroundView 属性)隐藏任何 在 drawRect: 中进行绘图。蓝色选择背景将 也模糊了任何绘图。此外,自定义绘图发生在 动画(如表格视图进入和退出编辑模式时) 大大降低性能。

缓慢的表格滚动是一个常见问题,因此您可以在 Stack Overflow 上找到许多类似的问题。

要考虑的另一件事是您提供数据的方法可能是瓶颈。仪器将能够帮助您识别问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-07
    • 1970-01-01
    相关资源
    最近更新 更多