gpt4 book ai didi

iphone - 是否有适用于 iPhone 应用程序的非采样时间分析工具?

转载 作者:行者123 更新时间:2023-12-03 20:50:02 25 4
gpt4 key购买 nike

我尝试过 Instruments 和 Shark 来分析 iPhone 应用程序,但两者都使用数据采样方法,定期截取线程堆栈的屏幕截图。

我更希望有一个全面覆盖的分析工具,它可以记录每个函数调用以及函数及其子例程所花费的时间。直观上这似乎比获取样本更好。像 Windows 上的 AQtime 这样的东西会很棒。

所以我的问题是:

  1. 基于样本的分析是否可信并且与基于函数调用的分析一样有用?
  2. Instruments 或 Shark 可以进行此类分析吗?
  3. 还有其他更接近我想要的工具吗?

最佳答案

我发现 Shark 使用的时间分析对于确定代码中的瓶颈非常准确。您可以通过使用 Config | 显示迷你配置编辑器来更细粒度地调整采样间隔。显示迷你配置编辑器并降低采样时间。

Xcode 3.2 中的工具现在也有一个不错的 Time Profiler 工具,尽管它仅适用于 Mac。我发现 Instruments 非常适合分析,但如果系统负载过重,它可能会丢失样本。一般来说,我从 Instruments 开始,因为它很容易使用,然后如果我需要更详细地了解正在发生的情况,则转向 Shark。

如果您确实想要进行基于函数调用的分析,我会考虑 DTrace。我写了几篇关于使用 DTrace 调整 Cocoa 应用程序的文章 herehere 。后一个甚至展示了使用自定义 DTrace 脚本调整 iPhone 应用程序启动时间的示例。

不幸的是,DTrace 目前无法在 iPhone 本身上运行,但您仍然可以通过在模拟器中运行应用程序来使用它收集许多有趣的信息。虽然确切的计时信息与设备上的信息相差甚远,但准确了解哪些方法执行了多少次以及以什么顺序执行可以提供一些关于在哪里进行优化的线索。我使用 DTrace 为 Shark 和 Instruments 收集的信息提供不同的视角,并回答有关我的应用程序的具体问题。

关于iphone - 是否有适用于 iPhone 应用程序的非采样时间分析工具?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1442758/

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