2016-06-29 69 views
0

滾動是janky我有這個問題,我有比較複雜的表格視圖單元格使用autolayout,我似乎無法理解爲什麼滾動是生澀在低速。UITableViewCell滾動時,滾動是緩慢/脫水

我已經通過儀器與時間分析器運行它,但沒有真正突出的主要原因。另外,當我滾動得非常快時,它在我的iPhone 6s上順利運行。我已經證實,我可以使用核心動畫儀器達到55 - 60 FPS。這個問題只發生在我滾動一點時。

這裏有一些事實,我認爲是相關的:

  1. 表視圖使用估計的行高度使用自動尺寸。
  2. 細胞正在被重複使用。
  3. 表格視圖有20多個部分,每個部分最多可以有3行。
  4. 每個單元格都有一個收集視圖,以網格格式顯示照片。此收集視圖的高度根據使用高度限制在網格中顯示的照片數量而變化。
  5. 我試圖根除所有混合圖層,但這並不能解決我所看到的問題。
  6. 即使嘗試了在willDisplayCell委託方法中緩存單元格高度的簡單解決方案,並查看向上滾動是否會更順暢。這沒有用。

我很高興提供更多的數據點,但我陷入了一種我不知道還有什麼要嘗試或尋找的方式。

任何幫助表示讚賞。

+0

的照片,你從一個url得到它? –

+0

是的,照片是通過SDWebImage @BashirSidani異步檢索的 – dfujiwara

+0

我一直在尋找這個更多,事實證明,有很多CPU使用率(在時間分析器)尖峯很難看到沒有放大。我仍然試圖讓我的滾動順利,但它似乎創建和分配屬性字符串是昂貴的。我將創建推遲到了緩存層,但我不知道我可以優化如何爲UILabel分配屬性字符串。 – dfujiwara

回答