iOS中列表視圖滾動(dòng)的優(yōu)化的小技巧

tableView作為我們常用的一個(gè)空間,人們對(duì)它的滾動(dòng)流暢度的感覺是很明顯的,那么今天咱們一起聊聊怎么使UITableView的滾動(dòng)變的更加流暢

首先我們要知道都有哪些原因會(huì)是列表帶來卡頓感呢。

  1. 對(duì)象的創(chuàng)建、調(diào)整、銷毀
  2. 布局的計(jì)算
  3. 自動(dòng)化布局
對(duì)于第一個(gè)問題:

大家都知道UIView和CALayer都能夠用于展示,UIView除此之外還可以用于交互,因此在一些不需要交互的地方咱們可以直接使用CALayer來展示(使用CALayer的contents屬性可以用來展示圖片)

  • 不管使用什么方法進(jìn)行布局,到最后都是落到對(duì)UIView的frame、bounds、center等屬性進(jìn)行調(diào)整,所以為了能夠保持流暢,我們?cè)诓季智耙M量一次性把視圖的位置調(diào)整好
  • 對(duì)視圖進(jìn)行頻繁創(chuàng)建也是很消耗資源的,所以比盡量避免吧UIView進(jìn)行移除、重新創(chuàng)建,把這個(gè)UIView hide了吧
對(duì)于第二個(gè)問題:

大家在對(duì)UITableViewCell進(jìn)行布局時(shí),在后臺(tái)線程進(jìn)行計(jì)算盡量用上緩存吧(P.S.你可以使用陽(yáng)神的UITableView-FDTemplateLayoutCell來做,或者利用MJ的FrameModel來緩存)。當(dāng)你的TableViewCell的高度是一定的時(shí)候,直接設(shè)置tableView的RowHeight屬性吧

對(duì)于第三個(gè)問題

雖然說自動(dòng)布局時(shí)蘋果力推的技術(shù),但是它也是有著一當(dāng)消耗的,特別是當(dāng)視圖非常復(fù)雜的時(shí)候,CPU的消耗就會(huì)呈指數(shù)級(jí)別上升

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容