美文网首页
UITableView滑动卡顿的原因以及优化方法

UITableView滑动卡顿的原因以及优化方法

作者: 写下岁月的痕迹 | 来源:发表于2019-04-28 11:01 被阅读0次

    一、原因:

    1、cell中需要加载图片及设置成圆角(layer.masksToBounds=YES)产生离屏渲染;
    2、cell的重新布局;
    3、cell的高度不确定;
    4、cell中的控件的数量;
    5、全局更新TableView;
    6、使用了clearcolor,无背景色,透明度为0;
    7、使用addView给cell动态的添加View;
    8、实现了无用的代理方法;
    9、做了多余的绘制工作;
    10、没有预渲染图像。

    二、解决方案:

    1、加载网络图片使用异步加载,并缓存;尽量不要设置圆角,采用带圆角的图片;
    2、cell的布局填充操作比较耗时,一般创建好久布局好;
    3、提前计算cell的高度并缓存cell的属性;
    4、尽量使cell的布局大致相同,不同风格的cell采用不同的重用标识符,初始化添加控件,不适用的先隐藏;
    5、可以采用局部更新cell的内容;
    6、因为渲染耗时较长,尽量使用颜色设置;
    7、自定义cell,预先布局好cell的子视图;
    8、实现一些必要用到的代理方法;
    9、在实现drawRect:的时候,它的rect参数就是需要绘制的区域,这个区域之外的不需要进行绘制。例如可以用CGRectIntersectsRect、CGRectIntersection或CGRectContainsRect判断是否需要绘制image和text,然后再调用绘制方法。
    10、在bitmap context里先将其画一遍,导出成UIImage对象,然后再绘制到屏幕。

    相关文章

      网友评论

          本文标题:UITableView滑动卡顿的原因以及优化方法

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