UITableView是經常使用的一種控件, 如何高性能的使用UITableView, 我們有這幾方面需要做:
1.不僅要重用cell, 還有重用sectionHeader和setionFooter.
在實際的開發中, 我們會習慣的對cell進行重用, 但是往往忽略了區頭和區尾的重用, 當分區的數目過多時, 如果不重用區頭或區尾, 會反復創建, 浪費內存.
2.合理設置高度(行高, 區頭高度, 區尾高度)
UITableView提供設置高度的方式主要分了兩種: a.屬性, b.代理方法, 很多時候, 當高度固定時, 使用屬性; 當高度不固定時, 使用代理方法.
注: 當高度固定時, 不要使用代理方法, 因為如果使用代理方法, 當展示內容時(cell, 區頭, 區尾), 都會先執行代理方法, 代理方法執行的次數比較多, 如果高度固定, 效率比較低
3.緩存高度
很多時候,cell的高度都是不一樣,比如微博,朋友圈等等。
當高度不一樣時,為了合適的顯示內容,就需要計算高度。但是如果每次展示cell的時候,都計算高度,效率比較低。
如何提高效率?
如果沒有高度, 就計算,計算后把高度緩存起來,下次就不用再計算了。
4.異步加載數據
如果UITableView上展示的數據來自網絡,需要異步加載數據,否則影響滾動。