首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IOS - reloadData有多贵?

IOS - reloadData有多贵?
EN

Stack Overflow用户
提问于 2012-09-14 07:03:58
回答 3查看 1.5K关注 0票数 6

我想知道tableView上的reloadData有多贵.我想每隔5秒刷新一次表视图。这会导致任何性能问题吗?

EN

回答 3

Stack Overflow用户

发布于 2012-09-14 07:10:13

重载数据将调用表视图数据源numberOfRowsInSection上的两个主要方法,然后根据tableView的contentOffsetcellForRow:atIndexPath:上迭代所需的可视单元格

如果你的应用已经可以很好地滚动了,那么你的应用能够承受的唯一性能损失就是你在numberOfRowsInSection中做了很多工作(比如访问网络或者一些耗时的事情)。

编辑:如前所述,如果你使用heightForRow:atIndexPath:为不同高度的单元格进行复杂的计算,它也可能是一个痛点。

票数 5
EN

Stack Overflow用户

发布于 2012-09-14 07:29:08

除了@Jessedc回答之外,

如果所有行的高度都相同,那么heightForRowAtIndexPathtableview.rowHeight更昂贵。

如果您有许多行,每行的高度各不相同,并且每次调用heightForRowAtIndexPath方法时都要计算行的高度,那么它的开销就更大了。

决定reloadData调用的代价有很多因素。每件事都取决于每次调用委托方法时你做了什么和做了多少。

票数 0
EN

Stack Overflow用户

发布于 2012-11-14 05:54:02

如果适用于您的情况,NSFetchedResultsController可以在数据更改时通知您的表视图,而不是每"n“秒刷新一次。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12416032

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档