TableView的优化方案

作者: 嗯o哼 | 来源:发表于2015-10-24 17:30 被阅读877次

    1.最常用的就是cell的重用, 注册重用标识符

    如果不重用cell时,每当一个cell显示到屏幕上时,就会重新创建一个新的cell
    如果有很多数据的时候,就会堆积很多cell。如果重用cell,为cell创建一个ID
    每当需要显示cell 的时候,都会先去缓冲池中寻找可循环利用的cell,如果没有再重新创建cell
    

    2.避免cell的重新布局

    cell的布局填充等操作 比较耗时,一般创建时就布局好
    如可以将cell单独放到一个自定义类,初始化时就布局好
    

    3.提前计算并缓存cell的属性及内容

    当我们创建cell的数据源方法时,编译器并不是先创建cell 再定cell的高度
    而是先根据内容一次确定每一个cell的高度,高度确定后,再创建要显示的cell,滚动时,每当cell进入凭虚都会计算高度,提前估算高度告诉编译器,编译器知道高度后,紧接着就会创建cell,这时再调用高度的具体计算方法,这样可以方式浪费时间去计算显示以外的cell
    

    4.减少cell中控件的数量

    尽量使cell得布局大致相同,不同风格的cell可以使用不用的重用标识符,初始化时添加控件,
    不适用的可以先隐藏
    

    5.不要使用ClearColor,无背景色,透明度也不要设置为0

    渲染耗时比较长
    

    6.使用局部更新

    如果只是更新某组的话,使用reloadSection进行局部更新
    

    7.加载网络数据,下载图片,使用异步加载,并缓存

    8.少使用addView 给cell动态添加view

    9.按需加载cell,cell滚动很快时,只加载范围内的cell

    10.不要实现无用的代理方法,tableView只遵守两个协议

    只需实现需要的代理方法

    相关文章

      网友评论

      • sws1314:Cell滚动很快的时候怎么做才是只加载范围内的cell?
      • 94186084383b:怎么给cell动态添加view

      本文标题:TableView的优化方案

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