移动开发干货店iOS面试总结iOS开发知识小集

iOS UITableView的性能优化

2019-04-16  本文已影响84人  Lxin_

UITableView作为iOS中使用最频繁的控件之一,其性能优化也是要常常面对的,尤其是当数据量偏大且设备性能不足时。UITableView该从那几处开始优化,本文将详细阐明。

病因

治病就要先知道病因,我们先分析一下影响UITableView性能的因素

  1. tableviewCellheight计算不合理。
  2. tableView: cellForRowAtIndexPath:方法中处理了过多业务。
  3. tableviewCellsubview层级太复杂,做了大量透明处理。

解决方案

高度计算

    // 1.使用Autolayout进行UI布局约束(要求cell.contentView的四条边都与内部元素有约束关系)
    // 2.指定TableView的estimatedRowHeight属性的默认值
    self.tableView.estimatedRowHeight = 44.0;
    // 3.指定TableView的rowHeight属性为UITableViewAutomaticDimension
    self.tableView.rowHeight = UITableViewAutomaticDimension;

除了提高cell高度的计算效率之外,对于已经计算出的高度,我们需要进行缓存,对于已经计算过的高度,没有必要进行计算第二次。

tableView: cellForRowAtIndexPath:

tableviewCell的subview层级

上一篇下一篇

猜你喜欢

热点阅读