1. 首先重用cell,这个是最基础的优化,但是要记住,所谓重用,不止是不需要重新分配这个cell对象,也要尽量防止重新layoutSubview。
2. 尽量cell不要使用透明颜色。
3. 缓存cell的高度,如果高度固定的话,就直接用cell.rowHeight设置。
4. imageView的size和显示的image的size最好一致,避免缩放图像的处理。
5. 如果cell布局比较复杂,可以考虑某些UI元素“离屏绘制”。
6. cell中每个UI元素的frame都要取整,防止产生反锯齿处理。
7. 如非必要,减少reloadData全部cell,仅reloadRowAtIndexPaths。
8. 如果cell高度不定,可以使用estimatedHeight方法,把计算成本推迟到实际滚动的时候,需要注意:
- 如果完全不知道cell的大小,那么就返回UITableViewAutomaticDimension。
- 如果cell高度变化比较大,在下拉刷新场景不推进使用,会影响滚动条的体验。