當圖像加載時,什麼讓UITableView上的滾動變得如此不連貫?是否因爲需要將它們添加爲子視圖?還是因爲圖像需要緩存?都?UITableView平滑滾動性能
回答
因爲它們被添加爲子視圖,並且繪製子視圖需要很多工作,因爲它們必須被合成。當Core Graphics或Core Animation使用這些子視圖繪製多個單元格時更是如此。
Loren Brichter (atebits)解釋它更好:
就像在Mac OS X,也有對iPhone 2個繪圖系統。一個是CoreGraphics,另一個是LayerKit CoreAnimation。 CoreGraphics在CPU上繪圖,CoreAnimation會根據它認爲最快的部分繪圖 - 最有可能是GPU。
iPhone上的GPU不喜歡融合,這就是爲什麼Apple建議您儘可能多地保留您的視圖不透明的原因。有時候你別無選擇 - 如果你在圖片上有一個標籤,你不得不使標籤變成透明的,否則你會在文字上出現一個很大的醜陋塊。
什麼是開發人員要做的?當然...與CoreGraphics預混合到您自己的視圖中。如果你按照需求將你的東西混合到一個靜態視圖中(例如當一個表視圖移動屏幕上的一個單元格時),對於第一幀來說它會更貴一些,但是之後的每一幀CoreAnimation都只是處理一個大的,不透明的它喜歡的紋理。它不僅僅是混合。如果你考慮透支方面的情況,每個表格單元格有一個大視圖是一個巨大的勝利,因爲CoreAnimation只會觸及屏幕上的一個給定像素一次而不是多次(可能取決於你的舊有多少重疊視圖層次結構)。
老實說,我不知道該怎麼回答。
我所知道的是,當我有一個非常「沉重」的UITableView,並且需要它滾動速度快,我使用的方法從特威特的創造者:
http://blog.atebits.com/2008/12/fast-scrolling-in-tweetie-with-uitableview/
沒有找到一個更好的比這個更方便。
請不要將鏈接添加到您的應用或簽名到您的答案 – iwasrobbed 2010-07-24 03:14:53
感謝您花時間提出請求,我很高興刪除我的簽名。 – camilo 2010-07-27 10:57:09
- 1. UITableView平滑滾動
- 2. iOS UITableView滾動不平滑
- 3. UITableView中的平滑器自動滾動
- 4. 測量平滑滾動性能
- 5. 由於NSAttributedString UITableView滾動不平滑
- 6. 由於處理UITableView滾動不平滑
- 7. UIScrollview不能平滑滾動
- 8. iCarousel不能平滑滾動
- 9. 平滑滾動
- 10. 平滑滾動 -
- 11. 平滑滾動
- 12. UITableView由於removeFromSuperview而不能平滑滾動
- 13. 水平滾動UITableView
- 14. JScrollPane - 平滑滾動
- 15. jQuery平滑滾動
- 16. jquery平滑滾動
- 17. 平滑滾動texview
- 18. 平滑滾動到
- 19. js平滑滾動
- 20. jQuery平滑滾動
- 21. 水平平滑滾動
- 22. jQuery平滑水平滾動
- 23. 水平平滑滾動
- 24. Bootstrap粘性導航欄平滑滾動
- 25. 選框不平滑滾動,需要100%平滑滾動選框
- 26. JS平滑滾動加載干擾平滑滾動點擊
- 27. 黑莓MainScreen不能平滑滾動
- 28. 平滑滾動功能被陷在Chrome
- 29. 單元格中的UITableView動畫導致平滑滾動打破
- 30. 滾動時UITableView與自動佈局不平滑
該鏈接似乎是下降:(我可能是錯誤的,雖然因爲我在一個私人網絡 – GoodSp33d 2016-07-26 06:18:18
@ GoodSp33d:你說得對,atebits.com已經停了好幾年了,好東西被存檔;我現在我已經編輯了我的答案 – BoltClock 2016-07-26 07:39:36