UITableView的優(yōu)化

1、Cell 的復用機制

2、子線程加載延時操作,主線程更新即可

3、IO操作(延時操作),讀取文件和寫入文件,最好在cell顯示之前將文件讀取到內(nèi)存(如程序加載時即讀取)

4、緩存 cell 的行高(因為如果根據(jù) cell 的約束確定行高,每當顯示之前都需要計算)

5、注意使用預估行高(預估行高會使 cell 在顯示之前才會去計算)

6、cellForRowAtIndexPath里面.

? ? ? ? *.盡量不要做耗時的操作,如果避免不了使用子線程來處理

? ? ? ? *.從本地加載圖片,contentOfFile,會在主線程,讀文件是本來就是耗時的操作,一進入界面就先用子線程去本地加載圖片 NSCache

? ? ? ?*.不要在cellForRowAtIndexPath里面寫文件

? ? ? ?*.cellForRowAtIndexPath里面不要去創(chuàng)建和刪除view,最好是先懶加載好,顯示就view.hidden = false,不要顯示view.hidden = true

7、使用tableView dequeueReusableCellWithIdentifier:forIndexPath時會調(diào)用tableView:heightForRowAtIndexPath: ,注意會延時的操作

8、tableView滾動的時候停下gif.視頻

9、view的透明層,能不設置就不設置,view盡量不要設置transform

10、視圖層次結(jié)構(gòu)不要太多

11、盡量不要圖層圓角,1.將圖片畫成圓角2.讓美工提供一張中間是圓角透明的圖片遮在圖片上面

12、盡量不要去設置圖層陰影,會造成額外的開銷(離屏渲染) 離屏渲染:GPU在還沒有渲染到屏幕上之前要多做的一次渲染 :虛擬機--》Debug --》Color XXX

13、緩存cell的高度:cell高度不同的時候,最好只算一次,然后緩存起來,下次直接使用緩存的高度

14、圖片的拉伸或壓縮會影響性能(最好一樣大)

15. AsyncDisplayKit ---> 第三方:https://github.com/facebook/AsyncDisplayKit

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

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

  • 最近看到有些面試題中會問到TableView的優(yōu)化,特定花了幾天時間研究了一下各種優(yōu)化技巧,主要就分為幾個主要方向...
    星___塵閱讀 4,464評論 5 30
  • 簡單的介紹 UITableView最核心的思想就是UITableViewCell的重用機制。簡單的理解就是:UIT...
    面包與世界閱讀 224評論 0 0
  • 大咖龍兄有一本新書叫作《誰說你不能堅持》,這本書講了他堅持的故事也給出我們堅持的方法。在讀這本書以及讀完的時...
    就是Tina閱讀 1,236評論 2 3
  • 『晨語節(jié)氣』 今日谷雨,谷雨是農(nóng)歷二十四節(jié)氣中的第六個節(jié)氣,谷雨源自古人“雨生百谷”之說。同時也是埯瓜點豆、播...
    年年有余_85d6閱讀 277評論 0 0
  • 佛眼觀眾生,我觀佛意明, 流水與飛雁,各自有前程! 此圖來自廬江一怪
    平天下之文世界閱讀 371評論 9 12

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