实现和优化TableView
优化tableview:
1.复用单元格;
2.使用不透明的试图,单元格中尽量少使用动画;
3.图片使用异步加载同时设置图片加载的并发数;
4.滑动时不加载图片,滑动结束开始加载;
5.文字图片可以直接drawInRect绘制;
6.非必要条件下,减少刷新的cell;
7.如果cell是动态行高,可直接计算高度后缓存
解决tableviewcell加载数据过多导致tableview卡顿的现象?比如一个cell里面有很多图片,还有很多文字,加载过多数据会怎么样,拖动tableview会卡顿,怎么处理?
1.提前计算并缓存好高度,因为heightForRow最频繁的调用。
2.异步绘制,遇到复杂界面,性能瓶颈时,可能是突破口。
3.滑动时按需加载,这个在大量图片展示,网络加载时,很管用。(SDWebImage已经实现异步加载)。
4.重用cells。
5.如果cell内显示得内容来自web,使用异步加载,缓存结果请求。
6.少用或不用透明图层,使用不透明视图。
7.尽量使所有的view opaque,包括cell本身。
8.减少subViews
9.少用addView给cell动态添加view,可以初始化的时候就添加,然后通过hide控制是否显示。