1肾请、獲得數(shù)據(jù)后练慕,直接先根據(jù)數(shù)據(jù)源計(jì)算出對(duì)應(yīng)的布局枉阵,并緩存到數(shù)據(jù)源中译红,這樣在tableView:heightForRowAtIndexPath:方法中就直接返回高度,而不需要每次都計(jì)算了兴溜。
2侦厚、在Cell上添加系統(tǒng)控件的時(shí)候,實(shí)質(zhì)上系統(tǒng)都需要調(diào)用底層的接口進(jìn)行繪制拙徽,當(dāng)我們大量添加控件時(shí)刨沦,對(duì)資源的開銷也會(huì)很大,所以我們可以索性直接繪制膘怕,提高效率想诅。
3、在Cell上添加系統(tǒng)控件的時(shí)候岛心,實(shí)質(zhì)上系統(tǒng)都需要調(diào)用底層的接口進(jìn)行繪制来破,當(dāng)我們大量添加控件時(shí),對(duì)資源的開銷也會(huì)很大忘古,所以我們可以索性直接繪制徘禁,提高效率。
除了上面最主要的三個(gè)方面外髓堪,還有很多幾乎大伙都很熟知的優(yōu)化點(diǎn):
正確使用reuseIdentifier來(lái)重用Cells
盡量使所有的view opaque送朱,包括Cell自身
盡量少用或不用透明圖層
如果Cell內(nèi)現(xiàn)實(shí)的內(nèi)容來(lái)自web,使用異步加載旦袋,緩存請(qǐng)求結(jié)果
減少subviews的數(shù)量
在heightForRowAtIndexPath:中盡量不使用cellForRowAtIndexPath:骤菠,如果你需要用到它,只用一次然后緩存結(jié)果
盡量少用addView給Cell動(dòng)態(tài)添加View疤孕,可以初始化時(shí)就添加商乎,然后通過(guò)hide來(lái)控制是否顯示
原文來(lái)自:http://www.cocoachina.com/ios/20150602/11968.html