【原/转】UITableview性能优化总结
UITableView作为ios中使用最频繁的控件之一,其性能优化也是常常要面对的,尤其是当数据量偏大并且设备性能不足时。本文旨在总结tableview的几个性能优化tips,并且随着认识的深入,本文将持续更新,力求将tableview的优化做到极致! Let`s begin! 治病就要先知道病因,我们先来分析一下影响tableview滚动性能的因素有哪些: 1、cellForRowAtIndexPath方法中处理了过多业务 2、tableviewCell的subview层级太复杂,做了大量透明处理 3、cell的height动态变化时计算方式不对 前面两点比较好理解,本文着重处理第三种情况。 想要对tableview做性能优化,只能从tableview的数据源方法入手,纵观这些方法,主要有两个方法可以为我们所用:cellForRow以及heightForRow。我们一一分析: (1)heightForRowAtIndexPath 很多人都把优化的重点放到了 cell for row at indexpath 那个方法里了,在这里尽可能的少计算,但是却忽略了另一个很轻松就能提升加载时间的方法 : - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath