tableView 的性能優(yōu)化總結(jié):
1、cell重用:1.所有的UI 都要提前創(chuàng)建好,不要一邊滾動(dòng)一邊創(chuàng)建
2.所有的數(shù)據(jù)都要提前準(zhǔn)備好,不要一邊滾動(dòng)一邊處理數(shù)據(jù)
2、緩存行高:1.提前將 cell 的高度計(jì)算好,
不緩存行高有兩種方式:
1.自適應(yīng)行高 :
tableView.estimatedRowHeight = 200
tableView.rowHeight = UITableViewAutomaticDimension
2.實(shí)現(xiàn)rowHeight代理方法
3、cell 里的控件越少越好(這個(gè)不太好控制,根據(jù)項(xiàng)目需求),和cell 的復(fù)雜程度有關(guān)
4、不要使用半透明(alpha,opaque)、或者直接操作 layer 的圓角(這里我寫了一篇關(guān)于設(shè)置圓角頭像不消耗性能的博客)、陰影,
那樣會影響 CPU 的使用
5、圖片資源的大小盡量和控件的大小保持一致
6、能夠繪制的盡量繪制,繪制是底層的東西,效率比較高;可以使用第三方框架 YYKit,重寫了相當(dāng)一部分UI文本的控件
7、layer 的異步繪制
8、cell 的柵格化