UITableView是经常使用的一种控件, 如何高性能的使用UITableView, 我们有这几方面需要做:
1.不仅要重用cell, 还有重用sectionHeader和setionFooter.
在实际的开发中, 我们会习惯的对cell进行重用, 但是往往忽略了区头和区尾的重用, 当分区的数目过多时, 如果不重用区头或区尾, 会反复创建, 浪费内存.
2.合理设置高度(行高, 区头高度, 区尾高度)
UITableView提供设置高度的方式主要分了两种: a.属性, b.代理方法, 很多时候, 当高度固定时, 使用属性; 当高度不固定时, 使用代理方法.
注: 当高度固定时, 不要使用代理方法, 因为如果使用代理方法, 当展示内容时(cell, 区头, 区尾), 都会先执行代理方法, 代理方法执行的次数比较多, 如果高度固定, 效率比较低
3.缓存高度
很多时候,cell的高度都是不一样,比如微博,朋友圈等等。
当高度不一样时,为了合适的显示内容,就需要计算高度。但是如果每次展示cell的时候,都计算高度,效率比较低。
如何提高效率?
如果没有高度, 就计算,计算后把高度缓存起来,下次就不用再计算了。
4.异步加载数据
如果UITableView上展示的数据来自网络,需要异步加载数据,否则影响滚动。
网友评论