几乎每个app都要用到UITableView,而且当UITableViewCell上的控件越来越多时,你就要考虑到它的优化了,如何才能做到让用户可以完美平滑滚动UITableView。
这里我将阐述我所了解的,以及用到的优化常识。
使用内置工具优化UITableView:
- 重用cell对象:对于特定的cell类型,只初始化一次;
- 不要再cellForRowAtIndexPath:方法中绑定数据,因为此时cell还没有显示,数据绑定的操作放在UITableViews的代理方法tableView: willDisplayCell: forRowAtIndexPath: 里面执行;
- 进一步计算cell的高度要迅速。
优化UITableView中绘制数据的操作:
- 减少iOS没必要的混合渲染区域:通过iOS模拟器和Instruments工具对应用进行检查,不使用透明背景;如果可以的话,不渲染梯度渐变,其效果会更好;
- 优化代码,实现CPU和GPU负载均衡。要清晰了解哪一部分的渲染必须通过GPU来完成,哪一部分的渲染可以通过CPU来保持均衡;
- 根据不同类型cell写不同的代码。
网友评论