当图像加载时,什么让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. iOS UITableView滚动不平滑
- 2. UITableView中的平滑器自动滚动
- 3. 测量平滑滚动性能
- 4. 平滑滚动
- 5. 平滑滚动 -
- 6. 平滑滚动
- 7. 水平滚动UITableView
- 8. jquery平滑滚动
- 9. jQuery平滑滚动
- 10. 使用粘性菜单平滑滚动
- 11. 平滑滚动功能被陷在Chrome
- 12. 黑莓MainScreen不能平滑滚动
- 13. 滚动时UITableView与自动布局不平滑
- 14. Bootstrap Navbar滑动滚动不平滑
- 15. 禁用UITableView水平滚动
- 16. 水平滚动UITableView - 警告?
- 17. UITableView水平滚动指标
- 18. 慢速设备上的平滑滚动性能
- 19. 滚动视图的平滑滚动
- 20. JavaScript的“平滑滚动”不会滚动
- 21. 使用鼠标滚动平滑滚动
- 22. 如何滚动平滑滚动?
- 23. 如何添加平滑滚动Bootstrap的滚动间谍功能
- 24. 平滑滚动.net形式
- 25. WebView平滑滚动问题
- 26. 平滑滚动冲突css3
- 27. WP7:ListBox.ScrollIntoView平滑滚动
- 28. 平滑滚动的div
- 29. 平滑滚动到名称
- 30. UIScrollView不滚动平滑?
该链接似乎是下降:(我可能是错误的,虽然因为我在一个私人网络 – GoodSp33d 2016-07-26 06:18:18
@ GoodSp33d:你说得对,atebits.com已经停了好几年了,好东西被存档;我现在我已经编辑了我的答案 – BoltClock 2016-07-26 07:39:36