UITableView卡顿的优化
作者:
萧哒哒 | 来源:发表于
2020-11-19 11:27 被阅读0次
卡顿原因:
1.cell复用,注册重用标识符
2.避免cell重新布局(创建时就布局好)
3.提前计算并缓存cell的属性及内容(高度)
cell的显示是先计算高度调用(height方法),然后再调用(cel lfor row)方法
4.减少cell中控件的数量
尽量时cell布局相同,不适用的先隐藏
5.不要使用clearcolor,无背景色,透明度不设置为0(渲染耗时比较长)
6.使用局部更新
如果只更新某组,使用reloadSection进行局部更
7.加载网络数据图片,使用异步并缓存
8..少使用addView 给cell动态添加view
9.当cell滚动很快时,只记载范围内的cell
10.不实现无用的代理方式
11.缓存行高:estimatedHeightForRow不能和HeightForRow里面的layoutIfNeed同时存在,这两者同时存在才会出现“窜动”的bug。所以我的建议是:只要是固定行高就写预估行高来减少行高调用次数提升性能。如果是动态行高就不要写预估方法了,用一个行高的缓存字典来减少代码的调用次数即可
12.不做多余的绘制,在实现drawRect:的时候,它的rect参数就是需要绘制的区域,这个区域之外的不需要进行绘制。
13.预渲染图像。当新的图像出现时,仍然会有短暂的停顿现象。解决的办法就是在bitmap context里先将其画一遍,导出成UIImage对象,然后再绘制到屏幕;
14.使用正确的数据结构来存储数据。
本文标题:UITableView卡顿的优化
本文链接:https://www.haomeiwen.com/subject/vkvkiktx.html
网友评论