gpt4 book ai didi

iOS - 如何找到哪个方法占用了这么多时间

转载 作者:行者123 更新时间:2023-11-28 19:36:57 25 4
gpt4 key购买 nike

在我的应用中,用户可以通过让单词以他们设置的速度在屏幕上闪烁来“快速阅读”文本。我已经在我的 UIViewController 中使用重复的 NSTimer 编写了这个功能,并通过显示下一个单词索引更新了 UILabel,但它并没有像应有的速度。

例如,我以每分钟 1000 个单词的速度用 100 个单词对其进行了测试。完成闪烁所有单词需要 6.542045,而不是应该花费 6 秒。这是一个大问题,因为我应该向用户反馈他们阅读文本所花费的时间。

我如何找出代码的哪一部分花费了这么长时间?是 UILabel 的更新占用了 0.54~~ 的时间吗?

编辑

我的示例项目可以在这里查看:https://github.com/cnowak7/RSVPTesting

我的 flashText 方法应该只触发 100 次。好吧,如果我们计算方法意识到没有更多单词并终止 NSTimer 的时间,则为 101。在控制台中,阅读结束时,我可以看到该方法被触发了 111 次。我想我可能做错了。

最佳答案

您的具体问题似乎是:我如何找出代码的哪一部分花费了这么长时间?是 UILabel 的更新占用了 0.54~~ 的时间吗?

Xcode 随附的 Inside Instruments 是一个 Time Profiler 工具。 https://developer.apple.com/library/ios/documentation/DeveloperTools/Conceptual/InstrumentsUserGuide/Instrument-TimeProfiler.html

您可以运行您的代码并观察此工具,以准确了解执行例程的每个部分所花费的时间。它将按总时间百分比和具体时间跨度准确分割哪种方法花费的时间最多,让您准确了解应该将精力集中在哪些地方,通过重构/优化来削减那些宝贵的部分秒数。

我是一个 Objective-C 的人,所以与其试图在 Swift 示例中蒙混过关,不如让这个人来说话。 https://www.raywenderlich.com/97886/instruments-tutorial-with-swift-getting-started

关于iOS - 如何找到哪个方法占用了这么多时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37871320/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com