Iphone 如何增加UITableVIew';她的表现如何?
我有一个具有表视图的多线程应用程序。它在不同线程的后台进行数据收集。问题是,当用户滚动表格时,数据收集速度会降低高达75%。而且有很多数据要收集,所以我想让表格滚动减少数据收集速度,如果可能的话,不超过15%Iphone 如何增加UITableVIew';她的表现如何?,iphone,ios,multithreading,xcode,cocoa-touch,Iphone,Ios,Multithreading,Xcode,Cocoa Touch,我有一个具有表视图的多线程应用程序。它在不同线程的后台进行数据收集。问题是,当用户滚动表格时,数据收集速度会降低高达75%。而且有很多数据要收集,所以我想让表格滚动减少数据收集速度,如果可能的话,不超过15% 是否有一种方法可以使TableView仅在用户将手指从屏幕上移开时重新绘制?不要担心用户体验,让我来担心。如果你有什么想法可以加快速度,我很乐意听听。当用户拖动时,你可以尝试从dequeueReusableCellWithIdentifier返回nil。您可以通过调用或self.table
是否有一种方法可以使TableView仅在用户将手指从屏幕上移开时重新绘制?不要担心用户体验,让我来担心。如果你有什么想法可以加快速度,我很乐意听听。当用户拖动时,你可以尝试从
dequeueReusableCellWithIdentifier
返回nil。您可以通过调用或self.tableView.tracking
和self.viewTable.decreating
来检查用户是否正在执行此操作(这是为了确定拖动或跟踪何时即将结束)听起来你的瓶颈是后台的“数据采集”,所以你可以考虑攻击它。在显示表视图控制器之前,您可以尝试预取大量数据并将其缓存在内存中
如果单元格特别复杂,您也可以尝试重新绘制部分单元格(例如,只有文本而没有任何图像)。对于昂贵的操作,您可以执行延迟为0的选择器,这将使其进入运行循环的下一次迭代(所有方面都是好策略)
您认为最好的办法是使用时间分析器运行仪器,并攻击占用最多CPU的内容。您的意思是滚动表格会降低连接速度吗?你看过仪器中的时间分析器工具了吗?表的重画是否是导致速度减慢的真正原因?但是为什么不在线程完成时使用NSNotification重新加载单元格数据呢。。数据已准备好在表视图中加载。。。使用NSNotification浏览此链接我认为您不需要重复使用滚动速度…这会引发异常,但感谢您的建议。我通过返回一个空单元格来节省一点速度,除非self.viewTable.decreating,但这还不够。不管怎样,即使我只是返回空单元格,也不够快。