TableView优化检查清单

作者: 溪石iOS | 来源:发表于2019-02-04 14:20 被阅读38次
    题图

    UITableView 几乎是每个iOS开发者第一个使用的数据展示组件,在展示大量数据时,如果不组织好数据或视图,会占用大量内存,造成滚动卡顿,影响用户体验,本篇列举出常见的优化点,供你开发时做检查清单。

    优化点1:cellForRowAtIndexPath

    主要思路是减少cellForRowAtIndexPath 方法中的运算量,从以下方面检查
    1.1 加载图片时,做异步处理,加载完成后再单独更新cell,不要用reloadData刷新数据。
    1.2 图片有变换时,提前调整图片尺寸,并做缓存,刷新时直接取缓存图片。
    1.3 优先使用CALayer绘制Cell,避免继承UITableViewCell,覆盖drawRect,因为cell除了contentView外,还有其他视图,会导致叠加运算。
    1.4 复杂数据提前计算并缓存。

    优化点2:heightForRowAtIndexPath

    主要思路是减少高度的计算时间,有以下方法:
    2.1 如果都是固定cell高度,不要显式实现代理 heightForRowAtIndexPath,使用 rowHeight属性设置固定值。
    2.2 非固定高度,提前计算并缓存,刷新时直接取缓存高度值。
    2.3 总是通过estimatedHeightForRowAtIndexPath 返回估计高度,避免非显示cell请求高度。

    相关文章

      网友评论

        本文标题:TableView优化检查清单

        本文链接:https://www.haomeiwen.com/subject/jwppsqtx.html