1. 程式人生 > >tableView優化思路

tableView優化思路

重疊 out ask named 高度 sub run format 創建

一般優化的思路:

  1. 提前計算並緩存好高度(布局),因為heightForRowAtIndexPath:是調用最頻繁的方法。

  2. 復雜界面可采用異步繪制。

  3. 在大量圖片展示時,可以滑動時按需加載。

  4. 盡量少用或不用透明圖層,多個透明元素重疊顯示可采用合並成一張圖片顯示。

  5. 減少subviews的數量,如果是不需要交互可以使用CALayer 替換掉 UIView。

  6. heightForRowAtIndexPath:中盡量不使用cellForRowAtIndexPath:

  7. 根據場景合理使用imageWithContentsOfFile和imageNamed。

  8. 頁面元素多的時候,減少autolayout布局,采用frame。

  9. 緩存NSDateFormatter結果,不多次創建,及時釋放。

  10. 圖片解碼時,CALayer 被提交到 GPU 前,CGImage 中的數據才會得到解碼,GPU執行,卡主線程。常見的做法是在後臺線程先把圖片繪制到 CGBitmapContext 中,然後從 Bitmap 直接創建圖片。

  11. CALayer 的 border、圓角、陰影、遮罩(mask)觸發的離屏渲染,可開啟CALayer.shouldRasterize ,轉嫁到CPU上或是截圖或者采用圖片實現。

  12. 使用RunLoop和多線程在閑時處理一些繁重的計算工作。

tableView優化思路