使用Instruments识别滚动视图框架下降

Sea*_*bet 5 xcode profiling instruments ios

有没有办法使用Instruments和/或Xcode识别导致帧丢失的代码中的确切位置(例如,长时间运行的功能,或等待锁定)?

我试图让我的滚动视图滚动尽可能平滑,FPS有时会下降到59或甚至58,而大约一半的时间仍然是60,所以我想知道究竟是什么导致了这一点.

我没有启用Record Waiting Threads的标志CPU Usage中的仪器Core Animation模板,它只表示每个内核的100%使用率的针状尖峰不时(接近与丢帧秒),但我似乎无法弄清楚一种方法来标识的确切位置在代码中导致下降-被调用所有功能都相当低的影响,并在个位数百分比(因此这很可能是在等待一个锁的主线程).

Dan*_*avo 4

您是否尝试过使用 Instruments 中的时间分析器工具来查看滚动时代码的哪些部分更活跃?

有一个非常好的 WWDC 教程视频,介绍如何使用时间分析来查找和修复代码中的瓶颈:https://developer.apple.com/videos/play/wwdc2015/412/

我建议您观看此视频,它可能会帮助您找到问题的解决方案。