我有一个应用程序完成了一半。性能不是很好,我想知道瓶颈在哪里。虽然我可以继续开始评论可疑的代码行,但我想知道是否有任何工具可以告诉我哪种方法很酷,需要多长时间以及接下来发生的事情。堆栈跟踪并没有那么有用。
我有一个奇怪的想法将堆栈跟踪转换为GraphViz图,以便在视觉上看到整个图片。我知道IBM的一些人做了类似的事情,生成了堆栈跟踪的可视化图形,这非常令人印象深刻和有意义。在重新发明轮子之前:是否有一些好的工具或技术可以帮助找到iPhone OS上的性能瓶颈?
答案 0 :(得分:2)
正如Kenneth所说,Instruments是一个用于Cocoa应用程序性能优化的宝贵工具。可以在here(或在Xcode文档中)找到其用户指南。 Xcode调试工具的一大优点是它们可以针对在设备上执行的应用程序运行,因此您可以使用Instruments在实际硬件上对应用程序进行分析。
使用Instruments时,我发现CPU Sampler工具可以很好地分解我的应用程序花费最多的时间。例如,我有一个我认为是一个缓慢的SQLite查询,并且正准备优化我在运行Instruments时的所有SQLite交互,并发现它实际上是由于一些浪费的字符串处理例程。
您也可以使用Shark进行性能分析,但它并不容易使用。
您可能也对这些问题的答案感兴趣:
答案 1 :(得分:0)
使用Instruments(随开发人员工具提供的应用程序)附加到流程并测量性能。
有一个名为“核心动画”的预设,这可能是你想要的。
在iPhone上的iPhone开发人员门户网站上有一个教程视频: http://developer.apple.com/codingheadstarts/index.html