当图像加载时,什么让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