美文网首页
iOS知识总结(七):UITableView的优化

iOS知识总结(七):UITableView的优化

作者: 里克尔梅西 | 来源:发表于2019-05-07 15:28 被阅读0次

    UITableView应该是我们在项目中遇到的最多的控件了,但是由于赶工期等等因素,在实际做项目中仅仅是完成业务上的功能为主,很少在事后在想着如何去总结去优化一个tableView,使其变得更流畅,下面就总结下UITableView的优化方法,在日后的开发和面试中都可以去试用。

    一、基础的优化

    1、运用cell的重用机制

    重用机制对UITableView来说是他的核心基础,UITableView 只会创建一屏幕(或一屏幕多一点)的 UITableViewCell ,每当 cell 滑出屏幕范围时,就会放入到一重用池当中,当要显示新的 cell 时,先去重用池中取,若没有可用的,才会重新创建。这样可以极大的减少内存的开销。

    2、 定义尽量少类型的Cell及善用hidden来隐藏(显示)subviews

    拿到一个UI页面设计稿,首先要分析,如果都是相同样式的最好,只用一种类型的cell就可以搞定。如果是多种样式,尽量抽取其中的共同点,建立一个CustomCell,然后通过hidden的方法来控制不同类型cell中控件的展示。
    这样做的好处就是显而易见,减少cell的xib个数,减少代码量,方便维护修改;同时减少了cell的实例数量,可以减少一些内存的开销和速度的提升。

    3、提前计算好 cell 的高度和布局
    - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath;
    

    tableView中这个计算高度的方法滑动的时候还会调用,所以如果在这这里面进行根据数据来进行大量计算而显示高度的话,会对整个页面的流畅度造成不小的影响。
    在这里我一般是将需要处理的复杂cell的高度,在从网络拿到数据的时候,就缓存下来,保存到model中,这样在调用该方法的时候直接取model中的数据即可。

    4、

    相关文章

      网友评论

          本文标题:iOS知识总结(七):UITableView的优化

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