我正在尝试优化我的UICollectionView
(使用自定义布局)的滚动速度和平滑度,该约有400个单元格,其中150个单元格同时在屏幕上可见。
细胞本身并不复杂:它们由(完全不透明)彩色背景和两个标签(背景颜色相同)组成。
到目前为止,我已经阅读了数十篇关于优化速度的帖子
尽管进行了所有这些优化,我仍然无法以60 fps顺畅滚动。我在细胞出列后也尝试了层光栅化(shouldRasterize
),但这对性能产生了负面影响。
减少同时可见的单元格数量是唯一可以提高性能的单元格 - 滚动完全平滑,单元格更少。不幸的是,这不是一种选择。
我可以做些什么来接近60 fps,同时可以看到很多UICollectionViewCell
个?
答案 0 :(得分:3)
如果您在单元格上有阴影,请检查在单元格图层上使用shouldRasterize
是否可以提高帧速率
此外,永远不要在- collectionView:cellForItemAtIndexPath:
方法
答案 1 :(得分:1)
UICollectionView
的行为与UITableView
使用此链接作为参考:UITableView Optimization
答案 2 :(得分:0)
如果它对任何人有帮助,我遇到了类似的问题,那就是单元格中的cornerRadius和单元格内的UIView。我能够将它从牢房中移除,并且仍然保持着我在寻找UIView上的cornerRadius的审美。最终结果平滑滚动。