- 重用cell
- 缓存行高
(1)若cell定高,删除代理中的方法 heightForRowAtIndexPath方法,设置 self.tableView.rowHeight = 80;
(2) 若cell不定高,不要设置estimatedHeightForRow(因为estimatedHeightForRow不能喝heightForRow里面的layoutIfNeed同时存在,这两者同时存在会出现"窜动"的bug),在请求到数据后,先提前计算好行高,用一个字典缓存高度 - (1)加载网络图片,下载图片使用异步加载,缓存处理。
(2)如果图片较大,可以将图片切成较小图片,只显示处理过大小的图片,需要查看大图时候,再显示大图。
(3) 图片数量较多时候,准备好预览图和高清图,需要时候再显示高清图。
(4)使用懒加载图片,需要时候再加载图片,避免快速滑动时候频繁请求网络加载图片。 - 避免使用reloadData,使用局部刷新数据。
- 避免离屏渲染。
- 少用addSubview给cell动态添加view,初始化的时候就设置好,通过hidden设置显示隐藏。
- cell的显示内容来自网络,使用异步加载,做好缓存。
- 按需加载cell,只预加载显示当前cell的上下多少行。
- 图文混排复杂界面cell,重新drawRect方法,这个是异步方法。绘制时候使用CALayer
对TableView的优化
最新推荐文章于 2024-04-07 18:33:24 发布