我有一个UITableView,每3秒重新加载一次。只有当我的布尔变量为真时才重新加载它。在某些情况下,变量始终为true,并且时间表难以滚动。 (表现不是很好)。其他时候还可以。我该怎么办?
注意:我已根据苹果推荐的方式对我的表进行编码(UITableView最佳实践。除了我将子视图添加到UITableViewCell,而不是使用它。我对其他技术很有信心。)
这是什么解决方案?
答案 0 :(得分:2)
你确定吗,因为你刷新了很多让你难以滚动的东西。你在这里提到什么类型的刷新,从网络刷新数据或刷新表格查看你的单元格。
每当您刷新表格视图或滚动表格视图时,表格视图将继续询问相应的单元格,现在整个性能取决于您返回单元格的速度。
如果您正在使用自定义UITableViewCell,则存在性能降低的风险。仔细检查这些事情:
您是否正确重复使用了手机?检查[tableView dequeueReusableCellWithIdentifier:]是否始终返回nil。如果它总是返回nil,那么你就错了。
检查是否通过使用多线程从网络或文件加载图像来阻止主线程。
检查完所有内容并且性能仍然较慢后,您需要减少返回单元格的次数(通过减少刷新次数)或自己绘制单元格
答案 1 :(得分:0)
如果要为UITableView获取大型数据集,请尝试根据需要获取数据。获取cellForRowAtIndexPath中每个单元格的数据,而不是获取表格视图和存储的所有数据。