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比實時建立要快得多
相關文章
- 優化 Webpack 構建效能的幾點建議優化Web
- 優化Webpack構建效能的幾點建議優化Web
- 優化python程式的幾點建議優化Python
- iOS 實際開發中對效能優化的幾點建議iOS優化
- UItableView效能優化UIView優化
- 徹底瞭解渲染引擎以及幾點關於效能優化的建議優化
- apache-淺析apache優化的幾點建議Apache優化
- iOS中UITableView效能優化iOSUIView優化
- iOS 效能篇一一UITableView效能優化iOSUIView優化
- UITableView優化那點事UIView優化
- [效能優化]UITableView效能優化的一點感悟及計算UILabel高度的新方法優化UIView
- UITableView效能優化-中級篇UIView優化
- spark效能優化幾點注意Spark優化
- oracle 效能優化建議小結Oracle優化
- Python效能優化的20條建議Python優化
- SAP MM 對於MRKO事務程式碼的幾點優化建議優化
- 構建高效能 ASP.NET 應用的幾點建議ASP.NET
- 構建高效能ASP.NET應用的幾點建議ASP.NET
- ORACLE SQL 效能優化的一些建議OracleSQL優化
- .NET程式的效能要領和優化建議優化
- 關於優化iOS & Android遊戲發行計劃的幾點建議優化iOSAndroid遊戲
- 自學 JAVA 的幾點建議Java
- MySQL 高效能優化規範建議MySql優化
- UITableView優化UIView優化
- 小程式效能優化的幾點實踐技巧優化
- 8條關於Web前端效能的優化建議Web前端優化
- 程式設計師從優秀到卓越的幾點建議程式設計師
- (1) Mysql高效能優化規範建議MySql優化
- CSS 寫作建議和效能優化小結CSS優化
- iOS應用程式中UITableView的效能優化(最全面)iOSUIView優化
- 記一次介面效能優化實踐總結:優化介面效能的八個建議優化
- Redis優化建議Redis優化
- EntityFramework 優化建議Framework優化
- Mysql優化建議MySql優化
- 程式設計幾點建議程式設計
- 前端效能優化的點前端優化
- Zabbix 5.0 優化建議優化
- html前端優化建議HTML前端優化