您的位置:首页 > 产品设计 > UI/UE

UITableView 显示优化

2016-01-26 15:35 309 查看
今天被问到在UITableView的滑动过程中,怎么对其进行优化,使其不卡顿。

回答的时候有点仓促,感觉很多了解的东西没有说出来,总结下吧。

首先是,高度显示优化。

先用estimatedRowHeight这个属性,配合AutoLayout,设置rowHight = UITableViewAutomaticDimension,cell就变成自适应的高度。

同时,还可以 利用RunLoop空闲时间执行预缓存任务

上面的文章介绍了一种找到优化的合适方案:用RunLoopObserver 找到 kCFRunLoopDefaultMode 的空闲时间片来计算。

可优化地方:

确保控件的opaque属性设置为true,确保backgroundColor和父视图颜色一致且不透明。

如无特殊需要,不要设置低于1的alpha值。

确保UIImage没有alpha通道。

避免临时转换

确保图片大小和frame一致,不要在滑动时缩放图片。

确保图片颜色格式被GPU支持,避免劳烦CPU转换。

慎用离屏渲染

绝大多数时候离屏渲染会影响性能。

重写drawRect方法,设置圆角、阴影、模糊效果,光栅化都会导致离屏渲染。

设置阴影效果是加上阴影路径。

滑动时若需要圆角效果,开启光栅化。

参考

http://www.cocoachina.com/ios/20160208/15238.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: