UITableView效能優化的幾點建議
TableView是App裡最常用的一個UI控制元件了,優化TableView效能,使我們提高使用者體驗必須要考慮的問題。
-
提前計算並快取好高度,因為heightForRow最頻繁的呼叫。
- (UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath;
-
非同步繪製,遇到複雜介面,效能瓶頸時,可能是突破口。
-
滑動時按需載入,這個在大量圖片展示,網路載入時,很管用。(SDWebImage已經實現非同步載入)。
-
重用cells。
-
如果cell內顯示得內容來自web,使用非同步載入,快取結果請求。當cell中的部分View是非常獨立的,並且不便於重用的,而且“體積”非常小,在記憶體可控的前提下,我們完全可以將這些view快取起來。當然也是快取在模型中。
-
少用或不用透明圖層,使用不透明檢視。對於不透明的View,設定opaque為YES,這樣在繪製該View時,就不需要考慮被View覆蓋的其他內容(儘量設定Cell的view為opaque,避免GPU對Cell下面的內容也進行繪製)
-
減少subViews。分析Cell結構,儘可能的將 相同內容的抽取到一種樣式Cell中,前面已經提到了Cell的重用機制,這樣就能保證UITbaleView要顯示多少內容,真正建立出的Cell可能只比螢幕顯示的Cell多一點。雖然Cell的’體積’可能會大點,但是因為Cell的數量不會很多,完全可以接受的
-
少用addView給cell動態新增view,可以初始化的時候就新增,然後通過hide控制是否顯示。只定義一種Cell,那該如何顯示不同型別的內容呢?答案就是,把所有不同型別的view都定義好,放在cell裡面,通過hidden顯示、隱藏,來顯示不同型別的內容。畢竟,在使用者快速滑動中,只是單純的顯示、隱藏subview比實時建立要快得多
相關文章
- 徹底瞭解渲染引擎以及幾點關於效能優化的建議優化
- apache-淺析apache優化的幾點建議Apache優化
- iOS 效能篇一一UITableView效能優化iOSUIView優化
- [效能優化]UITableView效能優化的一點感悟及計算UILabel高度的新方法優化UIView
- UITableView效能優化-中級篇UIView優化
- spark效能優化幾點注意Spark優化
- 跳槽的幾點建議
- SAP MM 對於MRKO事務程式碼的幾點優化建議優化
- MySQL 高效能優化規範建議MySql優化
- 小程式效能優化的幾點實踐技巧優化
- 自學 JAVA 的幾點建議Java
- (1) Mysql高效能優化規範建議MySql優化
- 記一次介面效能優化實踐總結:優化介面效能的八個建議優化
- 程式設計幾點建議程式設計
- EntityFramework 優化建議Framework優化
- Redis優化建議Redis優化
- 加強化工企業危化品管理的幾點建議
- 前端效能優化的點前端優化
- CSS效能優化的幾個技巧CSS優化
- SAP ABAP轉型,我的幾點建議
- 人工智慧推行TRIZ的幾點建議人工智慧
- mysql優化 | 儲存引擎,建表,索引,sql的優化建議MySql優化儲存引擎索引
- html前端優化建議HTML前端優化
- Zabbix 5.0 優化建議優化
- 十一後跳槽找工作的幾點良心建議
- 給部落格園的幾點現實建議
- 關於加強MYSQL安全的幾點建議MySql
- 資料庫優化建議資料庫優化
- 詳細整理iOS中UITableView的效能最佳化iOSUIView
- 優雅的使用UITableViewUIView
- 幾個 JavaScript 效能優化小 TipJavaScript優化
- MySQL資料庫優化:縮小資料的五點建議VCMySql資料庫優化
- 頁面優化的一些建議優化
- 【建議】 暫提三種優化優化
- 挑戰月薪30K | 前端效能優化的12 條建議(乾貨收藏)前端優化
- uni-app 效能最佳化建議APP
- 關於《給部落格園的幾點現實建議》
- PMP®|對如何做好專案管理的幾點建議專案管理