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 滚动效果不佳

iOS5:UITableView 滚动性能不佳

加载滚动视图时性能不佳

jQuery 滚动事件 - 检测元素滚动到视图中 - Chrome 上的性能不佳

自 iOS 9 以来 UITableView 的滚动性能不佳(之前效果很好)