UICollectionView 的滚动性能不佳 - 分析指向可访问性调用
Posted
技术标签:
【中文标题】UICollectionView 的滚动性能不佳 - 分析指向可访问性调用【英文标题】:Poor scroll performance with UICollectionView - Profiling points to accessibility call 【发布时间】:2014-11-18 22:24:24 【问题描述】:在我们的应用程序中,我们使用定制的 UIViewController 管理 UICollectionView 以加载消息流。但是,我们注意到滚动性能不佳。在时间分析上,我们注意到 [UICollectionView dequeReusableCell..] 调用占用了 35% 的时间,其中大部分是由于 UICollectionViewAccessibility 调用。
仪器时间分析器快照:http://i.stack.imgur.com/GLB49.png
有没有人在收藏视图之前遇到过类似的问题?这是在关闭辅助功能选项的 ios8.1 iPhone 5s 模拟器上。
【问题讨论】:
请向我们展示 (id)dequeueReusableCellWithReuseIdentifier:(NSString *)identifier forIndexPath:(NSIndexPath *)indexPath 实现,以便我们了解是否有任何修改或修复。 【参考方案1】:我建议限制单元格上可访问性项目的数量。典型的单元格应该有 1 个可访问性操作,告诉用户他们可以选择单元格以深入了解有关该项目的更多信息。如果您尝试在单元格可访问项中创建所有子视图,则可能会导致在出队中消耗过多的时间。
【讨论】:
以上是关于UICollectionView 的滚动性能不佳 - 分析指向可访问性调用的主要内容,如果未能解决你的问题,请参考以下文章
Swift 中的 NSAttributedString draw(in: rect) 性能不佳?
UICollectionview 使用 CALayer 和 CATextlayer 滚动效果不佳