UITableView性能优化的几个建议
IOS开发,基本上都会跟tableView打交道,tableView的性能优化问题就在用户体验方面占了很大的比重,好的优化就可以提升用户的体验,而且最近越来越多的公司在面试的时候都会问到tableView的优化问题,下面我和大家分享下我对tableView优化的一些看法和建议:
- 记得cell的复用,并设置正确的reuseIdentifier
- 计算好的行高要缓存下来,这样就不用再每次滚动的时候重复计算了
- layoutSubviews这个方法会在点击cell ,滚动表格等情况下调用,而且调用的非常的频繁,所以这个方法中尽量不要写耗时操作,如果可能的话自定义cell尽量使用自动布局
- layoutSubviews在滚动表格的时候会不断的调用,以此来计算contentSize,所以我们最好给cell预估一个高度,这样可以减少此方法的调用
- 尽量使得所有的控件不透明,opaque设置成默认的YES,可以优化渲染
- 如果cell内部需要加载网络数据,那么请使用异步加载,并考虑可能出现的BUG,推荐使用SDWebImage框架
- 使用正确的数据结构来存储数据
- tableView的RunLoop模式设置成默认的就可以不要使用NSRunLoopCommonModes,因为如果cell内部加载网络有耗时操作,会变的很卡顿
以上就是我在开发中总结的几点建议,希望对大家有帮助,如果有文章中有疏漏及错误,欢迎批评指正!
浙公网安备 33010602011771号