tableView作為我們常用的一個空間褒侧,人們對它的滾動流暢度的感覺是很明顯的驰坊,那么今天咱們一起聊聊怎么使UITableView的滾動變的更加流暢
首先我們要知道都有哪些原因會是列表帶來卡頓感呢。
- 對象的創(chuàng)建窑多、調(diào)整仍稀、銷毀
- 布局的計算
- 自動化布局
對于第一個問題:
大家都知道UIView和CALayer都能夠用于展示,UIView除此之外還可以用于交互埂息,因此在一些不需要交互的地方咱們可以直接使用CALayer來展示(使用CALayer的contents屬性可以用來展示圖片)
- 不管使用什么方法進行布局技潘,到最后都是落到對UIView的frame、bounds千康、center等屬性進行調(diào)整享幽,所以為了能夠保持流暢,我們在布局前要盡量一次性把視圖的位置調(diào)整好
- 對視圖進行頻繁創(chuàng)建也是很消耗資源的拾弃,所以比盡量避免吧UIView進行移除值桩、重新創(chuàng)建,把這個UIView hide了吧
對于第二個問題:
大家在對UITableViewCell進行布局時豪椿,在后臺線程進行計算盡量用上緩存吧(P.S.你可以使用陽神的UITableView-FDTemplateLayoutCell來做奔坟,或者利用MJ的FrameModel來緩存)。當你的TableViewCell的高度是一定的時候搭盾,直接設置tableView的RowHeight屬性吧
對于第三個問題
雖然說自動布局時蘋果力推的技術蛀蜜,但是它也是有著一當消耗的,特別是當視圖非常復雜的時候增蹭,CPU的消耗就會呈指數(shù)級別上升